使用Rhino和Java的小型支持工具包(通过脚本框架)?

问题描述:

使用脚本框架(javax.script。*),Java和Javascript之间的基本集成工作非常简单。然而,一旦你想要做一些真正有用的事情,就会遇到从Javascript回到Java(以及某种程度上,另一方面)的混乱的小方法。使用Rhino和Java的小型支持工具包(通过脚本框架)?

例如:如果你有一个Javascript对象设置为实现一个Java接口(这是基本上容易做到),和你想实现的需要返回一个字符串数组的方法之一,你不能这样做:

// ... 
    return [ firstString, "hello world", lastString ]; 

这将无法正常工作,因为JavaScript数组不会自动转换为Java数组。你必须用反射来显式构造一个Java数组,并填充它,并返回

有几个这样的刺激性的东西,没有一个是来处理,真的,但因为我现在开始需要这些工具的第二个项目,我想知道这是否已经解决了为此设计了一些简单的Javascript“桥梁”框架。我发现谷歌搜索没有任何用处(主要是因为任何带有术语“java”的搜索都会导致十亿次点击),但这里有人似乎知道所有事情,所以我想我会问。

可以帮助解决问题的方法之一是使用one of the two answers here。我已经成功地获得了基于Java的解决方案来处理变量。

第二个可以很容易地适应JS util功能。 IE

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

感谢您的回答!我已经看到了这些,我同意创建一个实用程序JavaScript例程非常简单。然而,我希望的是,一些聪明的人已经*已经把一个包含一大堆这样的各种公用事业的图书馆放在一起。 – Pointy 2010-07-04 20:54:34