从GWT中的另一个Js调用JavaScript方法
我试图从java方法调用另一个javascript方法中的javascript方法 这是我的密码:从GWT中的另一个Js调用JavaScript方法,javascript,java,gwt,Javascript,Java,Gwt,我试图从java方法调用另一个javascript方法中的javascript方法 这是我的密码: public void print(){ Excec(); } native String flipName(String tst) /*-{ // ...implemented with JavaScript alert(tst); }-*/; native String Excec() /*-{ alert("exe"); flipName(
public void print(){
Excec();
}
native String flipName(String tst) /*-{
// ...implemented with JavaScript
alert(tst);
}-*/;
native String Excec() /*-{
alert("exe");
flipName("1");
alert("exe1");
}-*/;
运行应用程序时,会显示一个错误:
Excec()([]): flipName is not defined
com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:249)
com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:136)
com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:576)
这必须以与从JSNI方法中调用Java方法大致相同的方式完成 必须指定要调用的方法的完全限定名,还必须指定参数的类型 更多信息可在此处找到: 实际上,这是可行的(将be.knarf.gwt.client.Example替换为类的正确包名和类名):
这必须以与从JSNI方法中调用Java方法大致相同的方式完成 必须指定要调用的方法的完全限定名,还必须指定参数的类型 更多信息可在此处找到: 实际上,这是可行的(将be.knarf.gwt.client.Example替换为类的正确包名和类名):
由于GWT2.7,JSNI代码可以简化。这是。@示例::flipName(*)(“hi”);而不是这个。@be.knarf.gwt.client.Example::flipName(Ljava/lang/String;)(“hi”);由于GWT2.7,JSNI代码可以简化。这是。@示例::flipName(*)(“hi”);而不是这个。@be.knarf.gwt.client.Example::flipName(Ljava/lang/String;)(“hi”);
private native void flipName(String tst)
/*-{
alert(tst);
}-*/;
private native void excec()
/*-{
alert("exe");
this.@be.knarf.gwt.client.Example::flipName(Ljava/lang/String;)("hi");
alert("exe1");
}-*/;