2012-01-30 34 views
3

我想從瀏覽器控制檯執行一些js方法來調用gwt代碼。例如。從手寫JavaScript調用GWT方法

showMyWindow();

JS:

function showMyWindow() { 
// call gwt code from here MyWindow::showMe() 
} 

GWT:

class MyWindow extends Window { 
    public static showMe { 
    MyWindow wnd = new MyWindow(); 
    wnd.show(); 
    } 
} 

如何做到這一點?謝謝。

回答

8

JSNI documentation on calling GWT Java from handwritten Javascript所述,您需要公開showMyWindow函數,以便調用其他JavaScript。在你想要在JS中調用showMyWindow之前的某個時候,運行一個像這樣的函數。

public static native void exportShowMe() /*-{ 
    $wnd.showMyWindow = $entry(@my.package.client.MyWindow::showMe()); 
}-*/; 

你叫那之後,你就可以調用showMyWindow()定期JS並調用你的靜態方法。

另外,您的showMe方法可能需要返回類型,在這種情況下,最有可能的是void