我使用Vaadin CDI插件开发RIA应用程序。 关于应用程序:它有两个视图(viewA和viewB),由Navigator维护。 用户故事非常简单:
任何建议/提示 - 如何避免重定向到viewB,但重定向到viewA?
Vaadin论坛对此事情保持沉默。
谢谢
答案 0 :(得分:3)
我遇到了同样的问题,但使用以下代码解决了这个问题:
getUI().getNavigator().addViewChangeListener(new ViewChangeListener() {
public boolean beforeViewChange(ViewChangeEvent event) {
return changeView;
}
@Override
public void afterViewChange(ViewChangeEvent event) {
// TODO Auto-generated method stub
}});
仅通过正确的导航设置changeView = true
(例如:点击按钮)。
这可以避免导航使用浏览器后退按钮。在这种情况下,如果用户使用任何浏览器按钮,则视图不会更改,并且它将保留在同一页面上。
答案 1 :(得分:1)
您可以在ViewB中覆盖View.enter(...)
,并根据您的应用状态,使用Page.getCurrent().setUriFragment(recentUrl, false);
更新您的视图URI