2012-01-30 2 views
3

Я хотел бы выполнить некоторый метод js из консоли браузера, чтобы вызвать код gwt. Напр.Вызвать метод GWT из рукописного JavaScript

showMyWindow();

ЯШ:

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. Когда-нибудь прежде, чем вы захотите на самом деле вызвать showMyWindow в JS, выполните такую ​​функцию.

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

После вы назвали, что вы будете в состоянии назвать showMyWindow() в регулярном JS и ваш статический метод называется.

В качестве альтернативы вашему методу showMe, вероятно, нужен тип возврата, в данном случае, скорее всего, void.