在GWT java代码中注册javascript方法,以便可以根据GWT中的事件调用该方法
Registering a javascript method in GWT java code so that it can be invoked based on an event in GWT
我试着寻找一个类似的帖子,但找不到任何,因此发布此查询以寻求您的帮助。实际上,我在GWT端创建了一个自定义UI。现在,我想将GWT端发生的事件发送到javascript/jsp页面。为此,我想知道是否有一种方法可以让jsp/javascript在GWT代码中注册一个方法,并且无论何时,在GWT端发生任何事件,GWT java代码都可以简单地调用这个javascript方法(类似于函数指针/对象),并且信息将在jsp页面上得到通知。虽然我可以在GWT代码中直接调用javascript方法,但是,这意味着GWT代码还需要知道javascript方法的名称,这导致了紧密耦合。相反,javascript可以简单地将函数句柄传递给GWT代码,GWT代码将简单地调用该句柄来传递jsp/javascript代码上的必要事件。如果有什么建议的话,我会很有帮助的。
您可以使用Dictionary
将函数名称传递给应用程序。
<script type="text/javascript">
function myFunction() {
// Do stuff...
}
var MyDictionary = {
myCallback = "myFunction"
};
</script>
在你的应用程序中:
public void onEvent(EventType event) {
Dictionary d = Dictionary.getDictionary("MyDictionary");
invokeNativeCallback(d.get("myCallback"));
}
private native void invokeNativeCallback(String callbackName) /*-{
if (typeof $wnd[callbackName] === "function") {
$wnd[callbackName]();
}
}-*/;
相关文章:
- GWT:有没有一种方法可以修改GWT在编译中使用的Cast.java文件
- GWT:可以从外部JavaScript而不是JSNI调用Java方法吗
- 是受(GWT)基类中方法数量影响的JavaScript对象的大小
- 如何将GWT方法作为参数传递到Javascript函数中
- 有没有一种方法可以使用JavaScript创建GWT小部件
- 使用 GWT 将双精度 JS 数组(可能包含空条目)集成到 Java 对象的适当方法
- GWT JSNI 方法与本机 JS:“无效标签”
- 可以从javascript调用非静态gwt java方法
- GWT:调用外部JavaScript库(sjcl)方法
- 通过SWT浏览器/ SWT浏览器功能从GWT应用程序调用Java方法
- 使用GWT'从java方法获取返回值;s JSNI
- 如何从GWT中的JSNI方法调用JSNI方法
- 如何在GWT's与eclispe的原生方法
- 从手写JavaScript调用GWT方法
- GWT JSNI -调用特定对象的java方法
- IE在使用window.opener调用GWT类中的方法时检测XSS
- 从GWT上的手写JS中获取Java方法返回值
- GWT JSNI方法公开
- 在GWT java代码中注册javascript方法,以便可以根据GWT中的事件调用该方法
- 在GWT中是否可以将java方法的引用传递给javascript ?