假如有jsp页面要实现一个列表信息,格式如下:
第1条信息 第2条信息
第3条信息 第4条信息
第5条信息 第6条信息
第7条信息 第8条信息
.....
搜索过别的方法,很多人运用jsp代码写入页面来进行循环判断。其实用struts2自带的标签可以实现同样效果,利用iterator标签进行循环,里面用if标签判断何时加入tr标签的开头和结尾,下面实现了两列信息列表的情况:
Java代码
<table width="540" border="0" cellspacing="0" cellpadding="0">
<s:iterator value="cooperList" status="st"> //开始循环
<s:if test="#st.odd||#st.first"> //元素索引是否为奇数的第一行 加入tr 头
<tr>
</s:if>
<td width="200" height="20"> // 在td 中显示的 想要显示的信息(如新闻标题等)
<a href="showSelCooper.action?oid=<s:property value="oid" />" target="_blank"><s:property value="title"/></a>
</td>
<s:if test="#st.even||#st.last"> //元素索引是否为偶数最后一行
</tr> //加入tr 尾
</s:if>
</s:iterator> //循环结束
</table>
<table width="540" border="0" cellspacing="0" cellpadding="0">
<s:iterator value="cooperList" status="st">
<s:if test="#st.odd||#st.first"> //元素索引是否为奇数的第一行 加入tr 头
<tr>
</s:if>
<td width="200" height="20">// 在td 中显示的 想要显示的信息(如新闻标题等)
<a href="showSelCooper.action?oid=<s:property value="oid" />" target="_blank"><s:property value="title"/></a>
</td>
<s:if test="#st.even||#st.last"> //元素索引是否为偶数最后一行
</tr> //加入tr 尾
</s:if>
</s:iterator>
</table>
因为iterator标签有如下方法:
boolean isEven() 当前迭代元素索引是否为偶数;
boolean isOdd() 当前迭代元素索引是否为奇数;
boolean isLast() 是否为最后一条元素;
boolean isFirst() 是否为第一条元素。
有以上元素,那么判断何时加入tr就非常方便。
假如是多列(两列以上),那么我们就可以使用如下方法:
int getIndex() 返回当前迭代元素的索引
用它来计算你何时需要加入tr标签的开头和结尾,无非就是if判断的表达式复杂一些,方法还是一样的。
http://hi.baidu.com/lee5017779/blog/item/94f9e050d3969e6584352479.html
第1条信息 第2条信息
第3条信息 第4条信息
第5条信息 第6条信息
第7条信息 第8条信息
.....
搜索过别的方法,很多人运用jsp代码写入页面来进行循环判断。其实用struts2自带的标签可以实现同样效果,利用iterator标签进行循环,里面用if标签判断何时加入tr标签的开头和结尾,下面实现了两列信息列表的情况:
Java代码
<table width="540" border="0" cellspacing="0" cellpadding="0">
<s:iterator value="cooperList" status="st"> //开始循环
<s:if test="#st.odd||#st.first"> //元素索引是否为奇数的第一行 加入tr 头
<tr>
</s:if>
<td width="200" height="20"> // 在td 中显示的 想要显示的信息(如新闻标题等)
<a href="showSelCooper.action?oid=<s:property value="oid" />" target="_blank"><s:property value="title"/></a>
</td>
<s:if test="#st.even||#st.last"> //元素索引是否为偶数最后一行
</tr> //加入tr 尾
</s:if>
</s:iterator> //循环结束
</table>
<table width="540" border="0" cellspacing="0" cellpadding="0">
<s:iterator value="cooperList" status="st">
<s:if test="#st.odd||#st.first"> //元素索引是否为奇数的第一行 加入tr 头
<tr>
</s:if>
<td width="200" height="20">// 在td 中显示的 想要显示的信息(如新闻标题等)
<a href="showSelCooper.action?oid=<s:property value="oid" />" target="_blank"><s:property value="title"/></a>
</td>
<s:if test="#st.even||#st.last"> //元素索引是否为偶数最后一行
</tr> //加入tr 尾
</s:if>
</s:iterator>
</table>
因为iterator标签有如下方法:
boolean isEven() 当前迭代元素索引是否为偶数;
boolean isOdd() 当前迭代元素索引是否为奇数;
boolean isLast() 是否为最后一条元素;
boolean isFirst() 是否为第一条元素。
有以上元素,那么判断何时加入tr就非常方便。
假如是多列(两列以上),那么我们就可以使用如下方法:
int getIndex() 返回当前迭代元素的索引
用它来计算你何时需要加入tr标签的开头和结尾,无非就是if判断的表达式复杂一些,方法还是一样的。
http://hi.baidu.com/lee5017779/blog/item/94f9e050d3969e6584352479.html