2012-03-13 34 views
0

任何人都可以用什麼是錯在下面的代碼幫助(基於回答過類似的問題問及SO):問題與手寫的JavaScript調用實例方法

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不在Javascript代碼中找到jsFunction:alert(jsFunction)返回'undefined'。

謝謝。

編輯:呵呵,一小時後:想通了,我只需要有[email protected]返回!

+1

所以你的問題的答案?如果是這樣,請回答你自己的問題。 – Peter 2012-03-13 14:17:14

回答

2

呵呵,一小時後:想通了,我只需要有[email protected]返回!

橋方法應該是:

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

我不明白「var this = that」的確是這樣,但它起作用 - 雖然這。@ ...沒有。 – xamde 2013-06-19 21:27:03