java - 方法调用两次 GWT

标签 java javascript gwt methods

我正在使用 GWT 创建 Web 应用程序。我有一个方法 bookMode() 可以构建一个带有一些文本框、列表框等的 UI,并将其显示在对话框中。我这样调用方法:

//listen for mouse events on the add button
    addButton.addClickHandler(new ClickHandler() {
        public void onClick(ClickEvent event) {

            String check = Cookies.getCookie("role");
            if(check == "TopBeheerder") {   
                boolean currentMode = mode0.getValue();
                add addObject = new add();
                if(currentMode == true) {
                    addObject.bookMode();
                }
                if(currentMode == false) {
                    addObject.userMode();
                }   
            }
            else {
                BibPhp.notification("You don't have enough permissions.");
            }


        }
    });

当我使用 GWT.log() 函数时,我注意到该方法被调用了两次。但是我使用 eclipse 搜索功能搜索了我的所有代码,并且该方法没有被调用两次。我不知道为什么 GWT 会这样。方法 userMode() 也被调用了两次。

最佳答案

当 Java 代码转换为 HTML 和 Javascript 时; java和javascript之间的相等比较是不一样的。因此,如果您有两个在 HTML 中具有相同 id 的小部件(按钮),并且将点击处理程序一一添加到每个小部件,则同一个小部件很可能会两次添加点击处理程序。尝试为按钮小部件设置不同的 ID,这帮助我解决了与多次点击处理程序调用相关的任何问题。

关于java - 方法调用两次 GWT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5052970/

相关文章:

java - HTTPs 可以实现 Restful Web 服务吗?

javascript - addEventListener中不带括号的函数如何使用?

ajax - 如何对 gwt-rpc 调用进行分组?

java - ext gwt 网格事件

java - Gmail api 范围和格式不匹配

java - Handler处理失败;嵌套异常是 java.lang.NoClassDefFoundError : sun/io/ByteToCharConverter

java - 尽管我应该收到数值,但我收到输出 0.0

javascript - JSON中的正则表达式模式?

javascript - Jquery Expand Collapse all div on Click

java - GWT 的当前状态是什么?