我正在使用 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/