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