根据struts2中用户的权限获取动态标签

时间:2011-07-13 05:10:22

标签: jquery plugins struts2

我需要根据用户的权限动态显示标签,因为某些用户会对标签列表进行限制。我如何在Struts2中执行此操作,或者我们是否有任何jquery插件。选项卡可以是n号,也可以有子选项卡。提前谢谢。

4 个答案:

答案 0 :(得分:0)

我在我的应用程序中使用此jQuery tab plug-in。我修改了html和jQuery代码以显示默认选项卡,以便像您要求的那样动态显示选项卡。这就是我做的事情

<强> HTML

<div class="container">

  <ul class="tabs">

        <li id="tab1head"><a href="#tab1">First heading</a></li>
        <li id="tab2head"><a href="#tab2">Second heading</a></li>
        <li id="tab3head"><a href="#tab3">Third heading</a></li>
  </ul>
  <div class="tab_container">

    <div id="tab1" class="tab_content">
            content of tab1
        </div>
        <div id="tab2" class="tab_content">
            content of tab2
        </div>
        <div id="tab3" class="tab_content">
            content of tab3
        </div>
  </div>
</div>

<强>的jQuery

如果要动态显示特定选项卡,请调用以下函数

function someFunction(tabheadID,tabID){
  $("ul.tabs li").removeClass("active");  
  $(".tab_content").hide(); //Hide all content
  $("#"+tabheadID).addClass("active").show(); //tabheadID may be tab1head etc
  $("#"+tabID).show();  //tabID may be tab1 etc
}

您可以使用document.createElement()或等效的jQuery语法动态创建选项卡,应用适当的类和ID以及附加到容器div

答案 1 :(得分:0)

这可以通过角色/和权限来实现, 只需根据用户角色生成正确的列表。

e.i:某个角色对某些特定标签有权限。因此,通过执行查询获取正确的列表。并在前面的代码中定义为 anu

<s:iterator list="%{tabs} name="eachTab">
    <li id="tab1head<s:property value="{eachTab.id}"/>">
      <a href="#tab1"><s:property value="{eachTab.tabeName}"/></a>
    </li> 
</s:iterator>

答案 2 :(得分:0)

我已经通过创建用于检查权限对象的tld并基于该显示选项卡值来实现选项卡。

答案 3 :(得分:0)

根据您的权限框架设置方式,您可以在jsp上使用struts条件标记来确定呈现的内容。

<div class="tab_container">
    <div id="tab1" class="tab_content">
        content of tab1
    </div>
    <div id="tab2" class="tab_content">
        content of tab2
    </div>
    <s:if test="user.SuperUser">
         <div id="tab3" class="tab_content">
             content of tab3
         </div>
    </s:if>
</div>

在此示例中,用户对象只有一个布尔值superUser,它在条件中被调用。如果user.isSuperUser()== true,则在jsp上呈现tab3。