Es gibt diese $ entry-Methode, die wir in GWT verwenden können, um externem JavaScript zu erlauben, Java-Methoden auszuführen. Sie können die Erklärungen in ihrer Dokumentation https://developers.google.com/web-toolkit/doc/latest/DevGuideCodingBasicsJSNI?hl=fr#callingGWT - Aufruf der Instanzmethode von externem JavaScript
sehen, aber das Beispiel gibt es nur mit statischen Methoden. Ich versuche, es für eine nicht-statische Methode zu schreiben und wenn ich versuche, es zu nennen, ich eine Ausnahme erhalten:
java.lang.ClassCastException: Cannot cast com.google.gwt.core.client.JavaScriptObject$ to mypackage.MyModule
Hier ist mein Code:
public native void setRefreshModuleCallback() /*-{
$wnd.refreshModule = $entry(function() {
[email protected]::refreshModuleJava();
alert('test');
});
}-*/;
public void refreshModuleJava() {
logger.log(Level.WARNING, "REFRESH");
}
Was finde ich sehr lustig Ist dieser Alarm aufgerufen, sehe ich das Ergebnis im Browser, aber der Anruf wird gerade nicht ausgeführt.
Wissen Sie, ob es tatsächlich möglich ist, so etwas zu tun?
Beachten Sie, dass ich mir diesen Beitrag angeschaut habe und es nicht geholfen hat (oder ich etwas verpasst habe) http://stackoverflow.com/questions/9676960/issue-with-calling-instance-method-from-handwritten- Javascript –