我想构建一个小产品,我想在其中提供一种功能,用户可以在其中编写一种脚本语言 JavaScript。
并且还可以从 JavaScript 构建对象并在其上调用方法。
这有什么框架吗?
原文由 Dungeon Hunter 发布,翻译遵循 CC BY-SA 4.0 许可协议
我想构建一个小产品,我想在其中提供一种功能,用户可以在其中编写一种脚本语言 JavaScript。
并且还可以从 JavaScript 构建对象并在其上调用方法。
这有什么框架吗?
原文由 Dungeon Hunter 发布,翻译遵循 CC BY-SA 4.0 许可协议
Java 包含从版本 6 开始的 脚本语言扩展包。
有关 在 Java 中嵌入 JavaScript 解释器的信息,请参阅 Rhino 项目文档。
[编辑]
下面是一个小示例,说明如何将 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.
}
}
原文由 maerics 发布,翻译遵循 CC BY-SA 3.0 许可协议
10 回答11.1k 阅读
15 回答8.4k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
8 回答6.2k 阅读
2 回答2.6k 阅读✓ 已解决
Rhino 正是您要找的。
更新: 现在 Nashorn 是 Java 的性能更高的 JavaScript 引擎,可用于 jdk8。
2022 年更新: Nashorn 在 Java 11 中被弃用,然后最终 在 Java 15 中被删除。