A los ejemplos...
Podemos mostrar un alert como usualmente lo hacíamos con JavaScript .. alert('This is an alert!');
public class MyApp implements EntryPoint { public void onModuleLoad() { Window.alert(’Showing alert from GWT’); showAlert("Some string..."); } public native void showAlert(String param)/*-{ $wnd.alert('Showing alert from JavaScript' + param); }-*/; }
También podemos hacer el camino inverso... invocar métodos de Java desde JavaScript utilizando JSNI
public class BlueApp implements EntryPoint { public void onModuleLoad() { setShowTrigger(this); } public void runApp() { Window.alert(’I am a GWT function’); } public native void setShowTrigger(BlueApp x)/*-{ $wnd.showBlueApp = function () { x.@com.company.client.BlueApp::runApp()(); }; }-*/; }
Cuando se carga el módulo se crea una función JavaScript llamada showBlueApp(), y nada más. Esa función puede ser invocada desde la página HTML, ahí se ejecutará el método runApp(). Este está referenciado en JavaScript con su path completo el cual incluye además el nombre del módulo. La variable x es la clase misma y es enviada como parámetro usando “this”. Una vez invocado el alert aparece.
La función showBlueApp debería ser invocada como cualquier otra función JavaScript desde el HTML.
Se agradece la ayuda!!!
ResponderEliminarPor si logran ver esto, podrian orientarme, como manejo variables entre JSNI
Tengo un metodo en JSNI le quiero pasar parametros a otro JSNI =D se agradece!.