从Java方法调用JSNI方法

时间:2012-05-28 17:30:20

标签: gwt jsni

我有以下代码:

public static void show(String value){
   Window.alert("From Java");
   invokeMethod(); //Does not get called
}  

public static native void invokeMethod() /*-{ 
    alert("From JSNI");
}-*/; 

我想从Java方法调用JSNI方法,但invokeMethod()永远不会被调用... 我找不到很多用于从Java调用JSNI方法的用例。

为什么上面的代码不起作用?

1 个答案:

答案 0 :(得分:1)

首先,正如Colin Alworth所说,您需要将代码更改为$ wnd.alert(“来自JSNI”);如果你想调用除alert()之外的另一个JS函数,你应该在你的html页面中编写函数体。您将找到所需的所有信息here

所以你的代码应该是这样的:

public static void show(String value){
   Window.alert("From Java");
   invokeMethod(); 
}  

public static native void invokeMethod() /*-{ 
    $wnd.alert("From JSNI"); //Added "$wnd."
}-*/;