我是Struts2的新手,我有一个像
这样的列表[1,USER,My Profile,profile.action]
[2,ADMIN,create User,createuser.action]
[2,ADMIN,update User,updateuser.action]
所以我必须像
那样填充它 -USER
.MyProfile
-ADMIN
.create user
.update user
我正在尝试这样但没有达到上述目的:
<s:if test="#session.rolePermissions != null">
<s:set var="rowid" value="1"/>
<s:iterator value="#session.rolePermissions" var="line">
<li>
<a><s:property value="#line[1]"/></a> <!-- parent -->
<ul class="submenu">
<li>
<a href="<s:property value="#line[3]"/>">
<s:property value="#line[2]"/>
</a>
</li>
</ul>
</li>
</s:iterator>
</s:if>
答案 0 :(得分:0)
<s:if test="#session.rolePermissions != null">
<s:set var="rowid" value="1"/>
<ul>
<s:iterator value="#session.rolePermissions" var="line" status="ctr">
<!-- CHECK PREVIOUS VALUE -->
<s:if test="%{#line[0]!=#previousValue}" >
<!-- SET PREVIOUS VALUE -->
<s:set var="previousValue" value="#line[0]" />
<s:if test="#ctr.index>0"></li></s:if>
<li>
<a><s:property value="#line[1]"/></a> <!-- parent -->
</s:if>
<ul class="submenu">
<li>
<a href="<s:property value="#line[3]"/>">
<s:property value="#line[2]"/>
</a>
</li>
</ul>
</s:iterator>
</li>
</ul>
</s:if>
但你应该为这样的案例创建一个对象结构。
最后,对于安全策略,最好使用类似Spring Security的东西,而不是重新发明一个有问题的轮子。