从手写JavaScript调用GWT方法

Call GWT Method from Handwritten JavaScript

本文关键字:GWT 方法 调用 JavaScript      更新时间:2023-09-26

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

如何做到这一点?谢谢

正如JSNI文档中关于从手写Javascript调用GWT Java的概述,您需要公开showMyWindow函数,以便可以调用其他Javascript。在您想实际调用JS中的showMyWindow之前,请运行这样的函数。

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

调用后,您将能够在常规JS中调用showMyWindow(),并调用静态方法。

顺便说一句,showMe方法可能需要一个返回类型,在这种情况下,很可能是void