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

标签 java javascript rhino

使用脚本框架 (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/

相关文章:

java - Rhino 中的 XMLHttpRequest?

java - 从 Tomcat 启动新进程

java - 从文件中读取标记,然后将其存储到数组中以供输出

javascript - ('#' .dialog is not a function 错误在使用jQuery的.load()函数后

javascript - 将国家名称更改为缩写

javascript - 如何在 RingoJS 中加载预编译的 JavaScript 模块?

java - 在输出文本中使用退格字符的替代方法?

java - 如何获取设置以及如何使用 adb 命令更改设置

javascript - Redux 存储更改后 React 组件不会更新

rhino - 在 Rhino 中运行 JSLinux