【发布时间】:2012-11-23 00:26:25
【问题描述】:
我在一个实现ValueChangeHandler<String>的类中有一个方法,这个类是从onModuleLoad()方法中初始化的,就像这样
mainController = new MainController();
History.addValueChangeHandler(mainController);
mainController.initialise(History.getToken());
而initialise() 方法看起来像这样;
public void initialise(String initialToken) {
if (initialToken.equals("")) {
History.newItem(String.valueOf(HistoryTokens.MAIN_PAGE), true);
} else {
History.newItem(initialToken, true);
}
}
当应用程序以空白历史令牌启动时,即按下 Launch Default Browser 时,将调用 onValueChange() 方法,在应用程序运行时更改 url 调用 onValueChange()方法。
但是,在空白浏览器选项卡中输入带有标记的 URL(即http://127.0.0.1:8888/MyApp.html?gwt.codesvr=127.0.0.1:9997#mjh&jdfhfh=786543)不会调用onValueChange() 方法。当我点击if 声明的History.newItem(initialToken, true); 部分时,我感到很困惑。我认为这将确保调用onValueChange()。怎么了?
【问题讨论】:
标签: java gwt gwt-history