如何防止在gwt中触发历史标记后执行代码?
我正在使用gwtp框架开发gwt2.3应用程序。在这个应用程序中,我有一个由客户端模块绑定的登录(索引)页面如何防止在gwt中触发历史标记后执行代码?,gwt,history,gwt-platform,gwt-history,Gwt,History,Gwt Platform,Gwt History,我正在使用gwtp框架开发gwt2.3应用程序。在这个应用程序中,我有一个由客户端模块绑定的登录(索引)页面 bindConstant().annotatedWith(DefaultPlace.class).to(NameTokens.login); 现在,在成功登录后,将触发一个新的名称令牌名称用户页面 History.newItem(NameTokens.userconsole,true); 现在,我的历史处理程序如下所示: 公共类NameTokenHandler实现Value
bindConstant().annotatedWith(DefaultPlace.class).to(NameTokens.login);
现在,在成功登录后,将触发一个新的名称令牌名称用户页面
History.newItem(NameTokens.userconsole,true);
现在,我的历史处理程序如下所示:
公共类NameTokenHandler实现ValueChangeHandler{
@Override
public void onValueChange(final ValueChangeEvent<String> event) {
System.out.println("Nothing to do");
}
现在,由于我已经重写了onValueChange方法&我将其保留为空
所以,当应用程序首先加载或触发任何其他名称令牌时,它应该首先调用onValueChange
由于此方法中没有代码,因此不应加载任何内容
但在应用程序中,它工作得很好。即使onValueChange中没有代码,所有的名称令牌都会成功触发。我不知道如何防止触发历史令牌
请帮帮我
提前谢谢
所以,当应用程序首先加载或触发任何其他名称标记时,它应该首先调用onValueChange,因为此方法中并没有代码,所以不应该加载任何内容
如果您使用的是gwtp历史值ChangeHandler将不会阻止或启用对应用程序某个特定部分的导航。这一切都是通过处理的。通过谷歌搜索我了解了place manager。 我正在向历史记录中添加一个更改处理程序 已经添加的项目仍然存在,特别是GWTP中的项目 PlaceManagerImpl构造函数 如果您真的想阻止某些历史事件由 GWTP,我建议,在您的定制PlaceManager中 重写onValueChange(…),截取要阻止的令牌,然后 为您希望GWTP处理的令牌调用父级的onValueChange 通常
History.addValueChangeHandler(new NameTokenHandler());