HelloScriptEngine

■コード

package hello.javax.script;

import javax.script.ScriptEngine;

import javax.script.ScriptEngineManager;

import javax.script.ScriptException;

public class HelloScriptEngine {

public static void main(String[] args) {

System.out.println("[Hello,JavaScript]");

// Hello, JavaScript

{

// Get the JavaScript engine

ScriptEngineManager manager = new ScriptEngineManager();

ScriptEngine engine = manager.getEngineByName("JavaScript");

String script1 = "var msg=\"Hello, JavaScript\"; println(msg);";

try {

engine.eval(script1);

} catch (ScriptException e) {

e.printStackTrace();

}

}

System.out.println("[JSON]");

// JSON

{

// Get the JavaScript engine

ScriptEngineManager manager = new ScriptEngineManager();

ScriptEngine engine = manager.getEngineByName("JavaScript");

String script2 = "var o = {x:1,y:2}; println(o.x);";

try {

engine.eval(script2);

} catch (ScriptException e) {

e.printStackTrace();

}

}

System.out.println("[function]");

// Function definition and call

{

// Get the JavaScript engine

ScriptEngineManager manager = new ScriptEngineManager();

ScriptEngine engine = manager.getEngineByName("JavaScript");

String script1 = "function f1(x,y){return x+y;} var b = f1(1,3);";

try {

engine.eval(script1);

System.out.println(engine.get("b"));

} catch (ScriptException e) {

e.printStackTrace();

}

}

}

}

■実行結果

[Hello,JavaScript]

Hello, JavaScript

[JSON]

1

[function]

4.0