使用脚本框架 (javax.script.*),可以轻松实现 Java 和 Javascript 之间的基本集成。然而,一旦你想做一些真正有用的事情,你就会遇到从 Javascript 到 Java(在某种程度上,还有另一个方向)的桥梁的所有小问题,这些都是困惑的。
示例:如果您设置了一个 Javascript 对象来实现 Java 接口(interface)(这基本上很容易做到),并且您想要实现的方法之一需要返回一个字符串数组,那么您不能只这样做:
// ...
return [ firstString, "hello world", lastString ];
这不起作用,因为 Javascript 数组不会自动转换为 Java 数组。您必须使用反射显式构造一个 Java 数组,填充它,然后返回那个。
有一些类似的令人恼火的事情,而且它们都不难处理,真的,但是当我现在开始第二个需要这些工具的项目时,我想知道是否已经通过为此目的设计的一些简单的 Javascript“桥”框架来解决这个问题。我通过谷歌搜索没有发现任何有用的东西(主要是因为任何包含“java”一词的搜索都会导致十亿次点击),但这里有人似乎无所不知,所以我想我会问。
最佳答案
解决该问题的一种方法是使用 one of the two answers here 。我已经成功获得了基于 Java 的解决方案来处理变量。
第二个可以很容易地改编成 JS util 函数。浏览器
return toJavaArray(["something",1]);
关于java - 用于将 Rhino 与 Java 结合使用(通过脚本框架)的有用的小型支持工具包?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3175637/