用于将Rhino与Java结合使用的有用的小型支持工具包(通过脚本框架)?

用于将Rhino与Java结合使用的有用的小型支持工具包(通过脚本框架)?,java,javascript,rhino,Java,Javascript,Rhino,使用脚本框架(javax.script.*)很容易实现Java和Javascript之间的基本集成。然而,一旦你想要做一些真正有用的事情,你就会遇到从Javascript到Java的桥梁(在某种程度上,还有另一个方向)是混乱的 示例:如果您已经设置了一个Javascript对象来实现Java接口(这基本上很容易实现),并且您想要实现的方法之一需要返回一个字符串数组,那么您不能只执行以下操作: // ... return [ firstString, "hello world",

使用脚本框架(javax.script.*)很容易实现Java和Javascript之间的基本集成。然而,一旦你想要做一些真正有用的事情,你就会遇到从Javascript到Java的桥梁(在某种程度上,还有另一个方向)是混乱的

示例:如果您已经设置了一个Javascript对象来实现Java接口(这基本上很容易实现),并且您想要实现的方法之一需要返回一个字符串数组,那么您不能只执行以下操作:

    // ...
    return [ firstString, "hello world", lastString ];
这是行不通的,因为Javascript数组不会自动转换为Java数组。您必须显式地构造一个带有反射的Java数组,填充它,然后返回它


有一些类似的令人恼火的事情,并且没有一件是很难处理的,真的,但是当我现在开始第二个需要这些工具的项目时,我想知道是否已经通过一些简单的Javascript“桥接”框架解决了这一问题。通过谷歌搜索,我没有发现任何有用的东西(主要是因为任何一个带有“java”一词的搜索结果都有10亿次点击),但是这里的一些人似乎什么都知道,所以我想我应该问一下。

你可以帮助解决这个问题的一个方法是使用。我已经成功地获得了基于Java的解决方案来处理变量

第二个可以很容易地调整为JS util函数。即

  return toJavaArray(["something",1]);

您可以帮助解决此问题的一种方法是使用。我已经成功地获得了基于Java的解决方案来处理变量

第二个可以很容易地调整为JS util函数。即

  return toJavaArray(["something",1]);

谢谢你的回答!我已经看到了这些,我同意创建实用Javascript例程非常容易。然而,我希望的是,一些聪明人已经建立了一个库,其中包含了大量的各种各样的实用程序。谢谢你的回答!我已经看到了这些,我同意创建实用Javascript例程非常容易。然而,我希望的是,一些聪明人已经建立了一个库,其中包含了大量的各种各样的实用程序。