如何使用Rhino

时间:2010-12-07 06:20:35

标签: java javascript rhino

  

可能重复:
  I am looking forward to call some javascript method from a java class
  can anyone give a complete example of how to call a js using java file???

HI,

我有一个javascript文件 script.js 和一个类文件 callScript.java 我想打电话给驻留在script.js

中的 encrypt()

如何使用Rhino?我正在使用java5

注意:如果我得到一些代码片段会更好。

1 个答案:

答案 0 :(得分:1)

String javaScriptExpression = "sayHello(name);";
Reader javaScriptFile = new StringReader(
    "function sayHello(name) {\n"
        + "    println('Hello, '+name+'!');\n" + "}");

ScriptEngineManager factory = new ScriptEngineManager();
ScriptEngine engine = factory
    .getEngineByName("JavaScript");
ScriptContext context = engine.getContext();
context.setAttribute("name", "JavaScript",
    ScriptContext.ENGINE_SCOPE);

engine.eval(javaScriptFile);
engine.eval(javaScriptExpression);

在这个例子中。只需通过BufferedReader读取.js文件即可创建Reader对象。 希望这会对你有所帮助。