首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > Ruby Rails >

struts2 s:iteror 一起迭代2列或者多行

2012-09-04 
struts2 s:iteror 一行迭代2列或者多行假如有jsp页面要实现一个列表信息,格式如下: 第1条信息 第2条信息

struts2 s:iteror 一行迭代2列或者多行

假如有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就非常方便。

?=================一下是一行4列的===========================

<table border="1">
???<s:iterator value="#request.aa" status="status">
????<s:if test="#status.index % 4 ==0">
<tr>
</s:if>
????<td>
?????<s:property value="#a" />
????</td>
????<s:if test="#status.index % 4 ==3 || #status.last">
</tr>
</s:if>
???</s:iterator>
??</table>
?</body>

热点排行