java-8 - 如何使用 Nashorn 在 Java8 中执行 JavaScript 文件
问题描述
我想在我的 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";
}
推荐阅读
- php - 为 Wordpress 实施 Google 跟踪代码管理器
- html - 为什么增加弹性项目中的文本长度会导致前一个弹性项目缩小?
- twitter-bootstrap - 如何将 toast 从 bootstrap 4 迁移到 5?
- matlab - ZeroMQ 从 Matlab 调用 Julia
- c# - AutoMapper ASP.NET Core 从 POCO 映射到带有对象列表的 DTO 对象
- python - Scipy中LeastSq的初始参数对最终参数输出有显着影响
- python - 数学模块中的ceil函数问题
- ios - 在最后一个 UITextField 中点击返回后,使第一个 UITextField 成为第一响应者
- apache-spark - 使用cmd输入spark job的体积
- ubuntu - 到达 Tomcat 时出现 ERR_CONNECTION_TIMED_OUT