我正在使用 Rhinocontext.evaluateString()
从 Java 内部运行一些简单的 JavaScript。它是嵌入 Javascript 指南中的教科书:
String script = // simple logic
Context c = new ContextFactory().enterContext();
ScriptableObject scope = context.initStandardObjects();
Object o = context.evaluateString(scope, script, "myScript", 1, null);
ScriptableObject result = Context.jsToJava(o, ScriptableObject.class);
我不确定这是当前的最佳实践,因为主要的 Rhino 文档似乎已关闭,但到目前为止它正在工作。
我希望能够引用工作目录中的库——我看到Rhino shell 支持load
,但我认为这在嵌入引擎中不起作用。
这可能吗?它在任何地方都有记录吗?理想情况下,我希望能够调用类似的东西load('other.js')
并让它搜索我指定为全局属性的目录。