【问题标题】:Exposing a function from Java to Rhino将 Java 中的函数暴露给 Rhino
【发布时间】:2010-12-05 11:19:27
【问题描述】:

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

【问题讨论】:

    标签: java javascript rhino


    【解决方案1】:

    嗯...yes, you can。也许我没有正确理解您的问题(“顶级函数”是什么意思?)但是如果您已将 java 对象暴露给 Rhino,您可以调用它的方法。

    【讨论】:

    • 对不起,如果我不清楚。虽然我可以公开一个允许我调用 foo.bar() 的对象,但我最好只调用 bar()。所以,我所说的“顶级函数”是指一个函数,它是当前正在执行的 Rhino Scope 的一个属性,如果这样更有意义的话。
    • 哦,我明白了。您可以定义一个 FunctionObject:mozilla.org/rhino/apidocs/org/mozilla/javascript/… 并通过 putProperty() 将其与全局(或您当前)范围相关联
    • 太棒了,看起来很完美。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2016-11-27
    • 1970-01-01
    • 2011-09-07
    • 1970-01-01
    • 2021-01-17
    • 2021-03-16
    • 2012-09-03
    • 2011-09-14
    相关资源
    最近更新 更多