0
我试图寻找一个类似的帖子,但找不到任何,因此张贴此查询为您的帮助。实质上,我有一个在GWT端创建的自定义UI。现在,我想将发生在GWT端的事件发送到javascript/jsp页面。为此,我想知道是否有方法让jsp/javascript在GWT代码中注册一个方法,并且在GWT端发生任何事件时,GWT java代码可以简单地调用此javascript方法(这就像一个函数指针/对象),并在jsp页面通知信息。尽管我可以直接从GWT代码中调用JavaScript方法,但是,这意味着GWT代码也需要知道JavaScript方法名称,并且这会导致紧密耦合。相反,javascript可以简单地将函数的句柄传递给GWT代码,该代码将简单地调用此句柄以传递jsp/javascript代码中的必要事件。任何想法都会非常有帮助。在GWT java代码中注册一个javascript方法,以便它可以基于GWT中的事件调用
非常感谢,贾森。这看起来像我正在寻找的方法,但我想知道有没有办法将Dictionary对象传递给GWT代码?我的意思是注册myDictionary变量,就像你在jsp页面中提到的那样,我们需要通过GWT端暴露的另一个JSNI方法注册它。我知道我们可以将原始数据类型从JavaScript传递到GWT,但是为了传递Dictionary对象,是否有特殊符号?非常感谢您的回复。 – ash1977
'Dictionary'是从GWT到包含字符串值的全局JavaScript对象的桥梁。您不需要JSNI方法来获取字典,只需要变量的名称即可。没有办法直接通过顶层'onModuleLoad()'传递参数。 –
哦,所以你提到我可以在任何本地方法中直接从GWT代码中访问全局myDictionary变量,然后像上面提到的那样使用它,或者你上面提到的代码可以没有任何修改就可以直接使用?再次感谢您在这里的帮助。 – ash1977