0

任何人都可以帮助解决以下代码中的问题(基于对 SO 提出的类似问题的回答):

    public String javaMethod(String input) {
        return "it works";
}

    public native void defineBridgeMethod() /*-{ 
        var that = this;
        $wnd.jsFunction= $entry(function(msg) {
                 that.@com.myclass.ClassName::javaMethod(Ljava/lang/String;)(msg)
            });
    }-*/;

问题是 Javascript 找不到 jsFunction:Javascript 代码中的 alert(jsFunction) 返回“未定义”。

谢谢。

编辑:嗯,一小时后:发现我只需要that.@com...回来!

4

1 回答 1

2

嗯,一小时后:发现我只需要that.@com...回来!

桥接方法应该是:

public native void defineBridgeMethod() /*-{ 
    var that = this;
    $wnd.jsFunction= $entry(function(msg) {
             return that.@com.myclass.ClassName::javaMethod(Ljava/lang/String;)(msg)
        });
}-*/;
于 2012-03-15T23:40:03.510 回答