将函数从Java暴露给Rhino

Tho*_*hom 7 javascript java rhino

使用Java可以很容易地将对象提供给Rhino ScriptableObject.putProperty,但是有没有办法公开顶级函数?也就是说,我可以这样做,以便Rhino中的脚本可以调用foo()并调用Java代码吗?

Chs*_*y76 6

嗯...... 是的,你可以.也许我没有正确理解你的问题("顶级函数"是什么意思?)但是如果你把java对象暴露给Rhino,你可以调用它的方法.

  • 原来如此.您可以定义一个FunctionObject:https://www.mozilla.org/rhino/apidocs/org/mozilla/javascript/FunctionObject.html并通过putProperty()将其与全局(或您当前的)范围相关联 (3认同)