Вызов метода GWT из рукописного JavaScript - PullRequest
3 голосов
/ 30 января 2012

Я бы хотел выполнить какой-нибудь метод 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 Ответ

8 голосов
/ 30 января 2012

Как указано в документации JSNI по вызову GWT Java из рукописного Javascript , вам необходимо предоставить функцию showMyWindow, чтобы можно было вызывать ваш другой javascript.Когда-нибудь, прежде чем вы захотите вызвать showMyWindow в JS, запустите такую ​​функцию:

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

После того, как вы это сделаете, вы сможете вызывать showMyWindow() в обычном JS и иметь свой статический метод.call.

Кроме того, вашему методу showMe, вероятно, необходим тип возвращаемого значения, в данном случае, скорее всего, void.

.
...