有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

如何使用Rhino将对象从Java传递到JavaScript

我正在开发一个Java程序,其中一个对象需要有一个函数的用户自定义行为。我正在使用Mozilla Rhino、JavaScript和Java实现这一点

我不知道如何获取已经实例化的对象并将其传递给预先编写的脚本

我看过很多关于Rhino的教程,但没有一个给出这样的例子。任何建议或链接将不胜感激

谢谢你抽出时间


共 (1) 个答案

  1. # 1 楼答案

    This answer到另一个问题,将一个对象data从Java传递到Rhino Javascript

    我不知道它是否有效(我想是的)。以下是相关部分:

    public static class data { 
       Double value = 1.0d;
    }
    
    ScriptEngine engine = new ScriptEngineManager().getEngineByName ("rhino"); 
    data data = new data();
    Context.enter().getWrapFactory().setJavaPrimitiveWrap(false);
    
    engine.eval("function test(data) { return data.get('value1') + 5;};"); 
    System.out.println("Result:" + ((Invocable)engine).invokeFunction("test", data)); 
    

    (我不知道setJavaPrimitiveWrap()here is some WrapFactory Javadoc。)