2
我有一个关于使用JSNI来公开我的一个GWT方法的问题。GWT JSNI方法曝光
我试图在我的一个GWT类中公开一个方法,该方法将消息发送到其他UI组件。
在我的应用程序入口点我
public native void exportMethods() /*-{
$wnd.fireFoo=$entry([email protected]_a::fireFoo(Ljava/lang/String;));
}-*/;
class_a更新的领域之一揭露它,然后调用从class_b的静态方法。
public class class_a{
private String last_msg;
public void fireFoo(String msg){
this.last_msg = msg;
class_b.foo(msg);
}
}
class_b调用许多其他类和静态方法来处理味精
public class class_b{
public static void foo(String msg){
...//creates a message object and sends it to UI components
class_c.foo2(msg);
...
}
}
基本上,所有我需要做的是通关的字符串,并调用GWT方法。该方法(当从GWT调用而不是手写JS时)完美地工作。我还证实,暴露的方法会触发一个简单的警报。我相信问题在于调用其他类的方法。
我得到:“(TypeError)无法获取未定义或空引用说明的属性'hv'。”
有没有办法将一个字符串传递给原始的GWT方法,而不必暴露它将最终运行的无数其他方法?