繁体   English   中英

如何基于列表的第一个元素迭代列表-使用Struts 2标签

[英]How to iterate list based on first element of list - using struts 2 tags

我是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>
<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之类的东西,而不是重新发明一个有问题的轮子。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM