【问题标题】:Mozilla Rhino - ScriptableObject with custom object?Mozilla Rhino - 带有自定义对象的 ScriptableObject?
【发布时间】:2012-08-28 19:50:10
【问题描述】:

我正在为我的 Java 应用程序使用 Mozilla Rhino(JavaScript 引擎)。我这样定义了一个 ScriptableObject:

public class TheObj extends ScriptableObject {
public TheObj(){
    //nothing
}
public TheObj(Scriptable scope, Scriptable prototype) {
    super(scope, prototype);
}

@Override
public String getClassName() {
    return "Foo";
}
@JSStaticFunction
public static Foo foo(Foo foo){
    return foo;
}

}

而 Foo 类是:

public class Foo {
  public void bar(){
    System.out.println("it works");
  }
}

但是当我尝试ScriptableObject.defineClass(scope, TheObj.class); 其中scope 是来自Context.enter().initStandardObjects(); 的Scriptable 时,它​​会抛出

org.mozilla.javascript.EvaluatorException: Unsupported parameter type "Foo" in method "bar".

我能做些什么来解决这个问题?

【问题讨论】:

    标签: java javascript rhino


    【解决方案1】:

    我想通了。我刚用Context.jsToJava(Object, Class<?>);

    (其实函数foo()需要像Java一样使用Foo参数,而不是直接返回)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2010-11-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-01
      • 1970-01-01
      相关资源
      最近更新 更多