如何在 Java 中使用 JavaScript?[已关闭]
2022-09-01 00:35:29
我想构建一个小产品,我想在其中提供一种功能,用户可以在其中编写一种JavaScript的脚本语言。
还有来自JavaScript能够构建对象并在其上调用方法。
有没有这方面的框架?
我想构建一个小产品,我想在其中提供一种功能,用户可以在其中编写一种JavaScript的脚本语言。
还有来自JavaScript能够构建对象并在其上调用方法。
有没有这方面的框架?
犀牛就是你要找的。
Rhino 是完全用 Java 编写的 JavaScript 的开源实现。它通常嵌入到 Java 应用程序中,以便为最终用户提供脚本。
更新:现在,Nashorn,它是Java的JavaScript引擎,可以与jdk8一起使用。
2022年更新:Nashorn在Java 11中被弃用,然后在Java 15中最终被删除。
Java 包括从版本 6 开始的脚本语言扩展包。
请参阅 Rhino 项目文档,了解如何在 Java 中嵌入 JavaScript 解释器。
[编辑]
下面是一个如何将 Java 对象公开给解释型脚本的小示例:
public class JS {
public static void main(String args[]) throws Exception {
ScriptEngine js = new ScriptEngineManager().getEngineByName("javascript");
Bindings bindings = js.getBindings(ScriptContext.ENGINE_SCOPE);
bindings.put("stdout", System.out);
js.eval("stdout.println(Math.cos(Math.PI));");
// Prints "-1.0" to the standard output stream.
}
}