我需要从 Javascript 调用 Java 方法。所以我定义了方法:
private native void registerMethod() /*-{
var self = this;
$wnd.test = function(longParam) {
self.@mypackage.HomeView::test(Ljava/lang/Long;)(longParam);
};
}-*/;
Java方法:
private void test(Long longParam) {
GWT.log("Call to test with longParam = " + longParam);
}
JS调用:
public static native void paypalClose() /*-{
$wnd.alert(top.test);
top.test(10);
top.dgFlow.closeFlow();
top.close();
}-*/;
警报显示 Javascript 函数定义。如果我打电话top.test()
,它可以工作,但没有传递任何参数。但是,如果我打电话top.test(10)
,我会得到一个空警报窗口。