我想从浏览器控制台执行一些js方法来调用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();
}
}
怎么做?感谢。
答案 0 :(得分: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());
}-*/;
调用之后,您将能够在常规JS中调用showMyWindow()
并调用静态方法。
另外,您的showMe
方法可能需要返回类型,在这种情况下,很可能是void
。