【问题标题】:TabLayoutPanel - Show tabs based on rolesTabLayoutPanel - 根据角色显示选项卡
【发布时间】:2011-05-16 21:47:48
【问题描述】:
我正在开发一个 GWT 应用程序,其中导航主要是 TabLayoutPane,其中每个 Tab 代表不同的功能。我需要的是只显示允许用户查看的选项卡(每个用户都有一个像用户或管理员这样的角色)。
问题是我不知道如何实现这一点,尤其是使用 UIBinder。
这是我的想法:
- 不要使用 UIBinder 并以编程方式构建 TabLayoutPanel。
- 使用 UIBinder 并根据每个用户角色隐藏某些选项卡(听起来效率很低)。
或者有没有更好的方法来实现这样的目标?
【问题讨论】:
标签:
user-interface
gwt
roles
uibinder
【解决方案1】:
我会选择第一种方法,因为它更干净,恕我直言。
但是,请确保您不要将其用作安全功能,并且不要显示任何非管理员不允许查看的敏感信息。由于所有构建都将在浏览器中的 javascript 中进行,因此在没有适当授权的情况下欺骗浏览器显示管理选项卡是相当简单的。
【解决方案2】:
我建议选项 2。
GWT 生成的 JavaScript 数量较少,因为 UiBinder 中的选项卡可以转换为 HTML 和 CSS。
隐藏选项卡及其内容:
aTabPanel.getTabWidget(0).setVisible(false);
aTabPanel.getTabWidget(0).getParent().setVisible(false);
代码不多,但第二行确保选项卡本身除了选项卡的内容之外是隐藏的。