在Vaadin 8我正在开发一个Web应用程序,我正在努力使用菜单/视图管理/导航器...
由于我对servlets和Vaadin完全不熟悉,我不太确定我的方法是否有效/如果我理解正确的话。
我以为这样理解Vaadin:
- 应用程序在我的服务器上运行
- 对于访问它的每个用户,都会创建一个新的UI实例
现在我想要一个很好的设计来管理导航器(将字符串映射到视图)和我的菜单(需要显示一个String和传递给导航器的键字符串)。
我目前的想法是使用这样的枚举:
window
然后我可以通过迭代public Enum ViewManager {
HOME("home", "Home", new HomeView()),
ANOTHER_VIEW("another", "Another View", new AnotherView());
private final String stateName, menuName;
private final View view;
MenuEntry(String stateName, String menuName, View view) {
this.stateName = stateName;
this.menuName = menuName;
this.view = view;
}
来开发菜单以创建条目
我可以使用ViewManager.values()
向UI导航器添加视图(我不喜欢navigator.addView(String, view)
,因为每次导航时都会创建一个新的视图实例。
长话短说:这会有效还是我会在多个用户更改视图属性时受到干扰。 (当用户试图访问诸如电子邮件,密码等敏感数据时,尤其是危险的,例如在loginView中)