1

在 Vaadin 8 中,我目前正在开发一个 Web 应用程序,我正在努力解决菜单/视图管理/导航器...
由于我对 servlet 和 Vaadin 完全陌生,我不太确定我的方法是否有效/如果我理解这一点正确。
我以为是这样理解 Vaadin 的:
- 该应用程序在我的服务器上运行。
- 对于每个访问它的用户,都会创建一个我的 UI 的新实例

现在我想要一个很好的设计来管理导航器(将字符串映射到视图)和我的菜单(需要显示字符串和传递给导航器的键字符串)。

我目前的想法是使用这样的枚举:

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)(我不喜欢navigator.addView(String, Class<View>),因为它会在每次导航时创建一个新的视图实例。

长话短说:当他们改变视图属性时,这会起作用还是我会在多个用户之间产生干扰。(当用户尝试访问诸如电子邮件、密码等敏感数据时尤其危险……例如在 loginView 中)

4

0 回答 0