从手写JavaScript调用GWT方法

时间:2012-01-30 00:13:02

标签: javascript gwt jsni

我想从浏览器控制台执行一些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();
  }
}

怎么做?感谢。

1 个答案:

答案 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