分享

JSP中Struts标签遍历集合的一个很好的用法

 soft_xiang 2011-05-31

在数据的设计的时候经常会碰到在同一张表中通过在记录中添加如parentid字段关联本表中另一条记录,这种做法在实现多级分类时很有效,如产品类型表,最简单的表可以设计为
ID,NAME,PARENTID

1 服装 0
2 上衣 1
2 裤子 1

这种结构在JSP中可通过多重循环来实现分类显示,今天在项目中碰到了一个比较好的实现,记下来备忘,也分享给大家,希望大家有好的做法也可以贴出来,大家都可以看看。

<s:iterator value="struts中产生的list" var="_class" status="_rowstatus">
<!-- 显示顶级分类,这是我项目中的字段,需要根据自己需求修改 -->
   <s:if test="#_class.classType==2">
    <li>
     <h3>
      ${_class.className }
     </h3>
     <!-- 遍历集合,找出此顶级分类下所有的子分类 -->
     <s:iterator value="classList.{?#this.classParentId==#_class.id}"
      var="class1" status="rowstatus">

<!-- 输出最后一个元素是不需要加分隔符 -->

      <s:if test="#rowstatus.last">
       <a href='#;' onclick="getProByClassId('${class1.id}');">${class1.className}</a>
      </s:if>
      <s:else>
       <a href='#;' onclick="getProByClassId('${class1.id}');">${class1.className}</a> |
       </s:else>
      </s:iterator>
    </li>
   </s:if>
  </s:iterator>

以上代码中比较好的实现是 classList.{?#this.classParentId==#_class.id}
这句形成了一个父级分类下所有子分类的集合。
大家如果有更好的做法希望能贴出来。。。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多