关于gwt:从手写javascript调用实例方法的问题

Issue with calling instance method from handwritten javascript

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

1
2
3
4
5
6
7
8
9
10
    public String javaMethod(String input) {
        return"it works";
}

    public native void defineBridgeMethod() /*-{
        var that = this;
        $wnd.jsFunction= $entry(function(msg) {
                 [email protected]::javaMethod(Ljava/lang/String;)(msg)
            });
    }-*/;

问题是 Javascript 找不到 jsFunction: Javascript 代码中的 alert(jsFunction) 返回 \\'undefined\\'。

谢谢。

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


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

桥接方法应该是:

1
2
3
4
5
6
public native void defineBridgeMethod() /*-{
    var that = this;
    $wnd.jsFunction= $entry(function(msg) {
             return [email protected]::javaMethod(Ljava/lang/String;)(msg)
        });
}-*/;