我想在我的Java类中调用Javascript,但是找不到正确的方法。我读过某个地方可以使用Nashorn完成此操作。有人可以让我知道确切的方法。
最佳答案
您可以使用“ ScriptEngineManager”调用JavaScript,如下所示。
ScriptEngineManager scriptEngineManager = new ScriptEngineManager();
ScriptEngine engine = scriptEngineManager.getEngineByName("nashorn");
try {
engine.eval(new FileReader("src\\demo.js"));
Invocable invocable = (Invocable)engine;
Object result = invocable.invokeFunction("fun1", "User");
System.out.println(result);
} catch (ScriptException e) {
e.printStackTrace();
}
您的JS文件demo.js看起来将如下所示。
var fun1 = function(name){
print('Hi,'+name);
return "Greeting from javascript";
}