Gwt 从Java方法调用JSNI方法
我有以下代码:Gwt 从Java方法调用JSNI方法,gwt,jsni,Gwt,Jsni,我有以下代码: 公共静态无效显示(字符串值){ 警报(“来自Java”); invokeMethod();//未被调用 } 公共静态本机void invokeMethod()/*-{ 警报(“来自JSNI”); }-*/; 我想从Java方法调用JSNI方法,但是,invokeMethod()从未被调用过。。。 我找不到太多从Java调用JSNI方法的用例 为什么上面的代码不起作用?首先,正如Colin Alworth所说,您需要将代码更改为$wnd.alert(“来自JSNI”);如果
公共静态无效显示(字符串值){
警报(“来自Java”);
invokeMethod();//未被调用
}
公共静态本机void invokeMethod()/*-{
警报(“来自JSNI”);
}-*/;
我想从Java方法调用JSNI方法,但是,invokeMethod()
从未被调用过。。。
我找不到太多从Java调用JSNI方法的用例
为什么上面的代码不起作用?首先,正如Colin Alworth所说,您需要将代码更改为$wnd.alert(“来自JSNI”);如果要调用alert()之外的另一个JS函数,应该在html页面中编写函数体。你会找到所有需要的信息 因此,您的代码应该如下所示:
公共静态无效显示(字符串值){
警报(“来自Java”);
invokeMethod();
}
公共静态本机void invokeMethod()/*-{
$wnd.alert(“来自JSNI”);//添加了“$wnd”
}-*/;
首先,正如Colin Alworth所说,您需要将代码更改为$wnd.alert(“来自JSNI”);如果要调用alert()之外的另一个JS函数,应该在html页面中编写函数体。你会找到所有需要的信息
因此,您的代码应该如下所示:
公共静态无效显示(字符串值){
警报(“来自Java”);
invokeMethod();
}
公共静态本机void invokeMethod()/*-{
$wnd.alert(“来自JSNI”);//添加了“$wnd”
}-*/;
您的代码应该可以工作。此代码之外可能还有其他错误?请将jsni更改为使用$wnd.alert
而不是alert
。并确保在第一个警报上单击“确定”,否则第二个警报无法运行。“并确保在第一个警报上单击“确定”,否则第二个警报无法运行。”这并不重要,因为警报、两个警报都会触发。您的代码应能正常工作。此代码之外可能还有其他错误?请将jsni更改为使用$wnd.alert
而不是alert
。并确保在第一个警报上单击“确定”,否则第二个警报无法运行。“并确保在第一个警报上单击“确定”,否则第二个警报无法运行。”这无关紧要,因为警报会触发两个警报