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