s:iterator 迭代 一行两列

来源:互联网 发布:天谕捏脸数据库男性 编辑:程序博客网 时间:2024/04/28 17:40

假如有jsp页面要实现一个列表信息,格式如下:
第1条信息 第2条信息
第3条信息 第4条信息
第5条信息 第6条信息
第7条信息 第8条信息

搜索过别的方法,很多人运用jsp代码写入页面来进行循环判断。其实用struts2自带的标签可以实现同样效果,利用iterator标签进行循环,里面用if标签判断何时加入tr标签的开头和结尾,下面实现了两列信息列表的情况:

  1. <table width="540" border="0" cellspacing="0" cellpadding="0">      
  2.        <s:iterator value="popList" status="count">      
  3.      
  4.          <s:if test="#count.odd||#cout.first">      
  5.               <tr>          
  6.          </s:if>      
  7.      
  8.        <td width="200" height="20">      
  9.          <a href="listPop.action?oid=<s:property value="uid" />" target="_blank">  
  10. <s:property value="code"/></a>  
  11.        </td>  
  12.         <s:if test="#count.even||#count.last">      
  13.             </tr>          
  14.         </s:if>      
  15.         </s:iterator>      
  16. </table>     
因为iterator标签有如下方法:
boolean isEven() 当前迭代元素索引是否为偶数;
boolean isOdd() 当前迭代元素索引是否为奇数;
boolean isLast() 是否为最后一条元素;
boolean isFirst() 是否为第一条元素。
有以上元素,那么判断何时加入tr就非常方便。

假如是多列(两列以上),那么我们就可以使用如下方法:
int getIndex() 返回当前迭代元素的索引

用它来计算你何时需要加入tr标签的开头和结尾,无非就是if判断的表达式复杂一些,方法还是一样的。


转载    http://blog.csdn.net/xiechunmei13/article/details/4399200


原创粉丝点击