2016-09-01 1 views
0

Я пытаюсь вызвать яваскрипт метод из другого Javascript метод из метода JavaВызов JavaScript Methode из другого Js в GWT

вот мой код:

public void print(){ 
    Excec(); 
} 


native String flipName(String tst) /*-{ 

    // ...implemented with JavaScript 
    alert(tst); 

}-*/; 

native String Excec() /*-{ 

    alert("exe"); 
    flipName("1"); 
    alert("exe1"); 

}-*/; 

, когда я запустить приложение это показать мне ошибка:

Excec()([]): flipName is not defined 


com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:249) 
com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:136) 
com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:576) 

ответ

2

Это должно быть сделано примерно так же, как вызов метода Java из метода JSNI.

Необходимо указать полное имя метода, который вы хотите вызвать, а также указать тип аргумента.

Более подробную информацию можно найти здесь: http://www.gwtproject.org/doc/latest/DevGuideCodingBasicsJSNI.html

На практике это будет работать (заменить be.knarf.gwt.client.Example с правильным именем пакета и имя класса вашего класса):

private native void flipName(String tst) 
/*-{ 
    alert(tst); 
}-*/; 

private native void excec() 
/*-{ 
    alert("exe"); 
    [email protected]::flipName(Ljava/lang/String;)("hi"); 
    alert("exe1"); 
}-*/; 
+0

Так как код GWT 2.7 JSNI может быть упрощен. this. @ Example :: flipName (*) ("hi"); вместо это. @ Be.knarf.gwt.client.Example :: flipName (Ljava/lang/String;) ("hi"); –

 Смежные вопросы

  • Нет связанных вопросов^_^