如何在 Java 中使用 JavaScript?

新手上路,请多包涵

我想构建一个小产品,我想在其中提供一种功能,用户可以在其中编写一种脚本语言 JavaScript。

并且还可以从 JavaScript 构建对象并在其上调用方法。

这有什么框架吗?

原文由 Dungeon Hunter 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 519
2 个回答

Rhino 正是您要找的。

Rhino 是完全用 Java 编写的 JavaScript 的开源实现。它通常嵌入到 Java 应用程序中以向最终用户提供脚本。

更新: 现在 Nashorn 是 Java 的性能更高的 JavaScript 引擎,可用于 jdk8。

2022 年更新: Nashorn 在 Java 11 中被弃用,然后最终 在 Java 15 中被删除

原文由 kdabir 发布,翻译遵循 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 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题