TabLayoutPanel - 根据角色显示选项卡

时间:2011-05-16 21:47:48

标签: user-interface gwt roles uibinder

我正在开发一个GWT-Application,其导航主要是TabLayoutPane,其中每个Tab表示不同的功能。我需要的是只显示允许用户看到的标签(每个用户都有像用户或管理员这样的角色)。

问题是我不知道如何实现这一点,特别是对于UIBinder。

这就是我的想法:

  1. 不要使用UIBinder并以编程方式构建TabLayoutPanel。
  2. 使用UIBinder,只是根据每个用户角色隐藏某些标签(这听起来效率很低)。
  3. 还是有更好的方法来实现这样的目标吗?

2 个答案:

答案 0 :(得分:0)

我会采用第一种方法,因为它更清洁,imho。 但是,请确保不要将其用作安全功能,并且不要显示任何非管理员不允许看到的敏感信息。由于所有构造都将在浏览器中的javascript中进行,因此在没有适当授权的情况下欺骗浏览器显示管理员选项卡会相当简单。

答案 1 :(得分:0)

我建议选项2。

GWT产生的JavaScript数量较少,因为UiBinder中的选项卡可以转换为HTML和CSS。 隐藏选项卡及其内容:

    aTabPanel.getTabWidget(0).setVisible(false);
    aTabPanel.getTabWidget(0).getParent().setVisible(false);

不是很多代码,但第二行确保除标签内容外还隐藏标签本身。