GWTで外部のJavaScriptがjavaメソッドを実行できるようにするために使用できるこの$ entryメソッドがあります。 説明はドキュメントに表示されていますhttps://developers.google.com/web-toolkit/doc/latest/DevGuideCodingBasicsJSNI?hl=fr#callingGWT - 外部のJavaScriptからインスタンスメソッドを呼び出す
ただし、この例には静的メソッドしかありません。私は非静的メソッドのためにそれを書くためにしようとしていると私はそれを呼び出すようにしようとすると、私は例外を取得:ここ
java.lang.ClassCastException: Cannot cast com.google.gwt.core.client.JavaScriptObject$ to mypackage.MyModule
は私のコードです:
public native void setRefreshModuleCallback() /*-{
$wnd.refreshModule = $entry(function() {
[email protected]::refreshModuleJava();
alert('test');
});
}-*/;
public void refreshModuleJava() {
logger.log(Level.WARNING, "REFRESH");
}
私は非常に面白い見つける何そのアラートが呼び出されると、ブラウザに結果が表示されますが、直前の呼び出しは実行されません。
実際にこのようなことが可能かどうか知っていますか?
私はこのポストを見て、それが役に立たなかったことに注意してください(または私は何かが逃しました)。http://stackoverflow.com/questions/9676960/issue-with-calling-instance-method-from-handwritten- javascript –