struts2如何显示前几条数据

简述一下iterator的介绍:

iterator标签用于对集合进行迭代,这里的集合包含List、Set和数组。
<s:set name="list" value="{'zhangming','xiaoi','liming'}" />
<s:iterator value="#list" status="st">
    <font color=<s:if test="#st.odd">red</s:if><s:else>blue</s:else>>隔行变色的效果
    <s:property /></font><br>
</s:iterator> 
 
value:可选属性,指定被迭代的集合,如果没有设置该属性,则使用ValueStack栈顶的集合。
id:可选属性,指定集合里元素的id。
status:可选属性,该属性指定迭代时的IteratorStatus实例。该实例包含如下几个方法:
     int getCount(),返回当前迭代了几个元素。
     int getIndex(),返回当前迭代元素的索引。
     boolean isEven(),返回当前被迭代元素的索引是否是偶数
     boolean isOdd(),返回当前被迭代元素的索引是否是奇数
     boolean isFirst(),返回当前被迭代元素是否是第一个元素。
     boolean isLast(),返回当前被迭代元素是否是最后一个元素。

 

第一种,直接指定他的属性,但是这种问题在于必须是循环中的数据足够多,若是本来list中有三条数据,但是你想显示前五条,写成

begin="0" end="4"这种的就会报java.lang.IndexOutOfBoundsException: Index: 2, Size: 2的错误。

<s:iterator value="systemBulletin2List" id="bean" begin="0" end="1">
</s:iterator>

 第二种:

<s:iterator value="systemBulletin2List" id="bean" status="sta">
	<s:if test="#sta.index<5">
//主要是显示前5行
        </s:if>
</s:iterator>

若是想一行显示5个怎么办?

<s:iterator value="systemBulletin2List" id="bean" status="st">
	<s:if test="(#st.index+1) % 5 == 0 ">
	       <br />//每行5个
        </s:if>
</s:iterator>

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值