读书人

struts2 惯用标签iterator

发布时间: 2012-11-18 10:51:21 作者: rapoo

struts2 常用标签—iterator
自己总结的

Iterator
这是最简单的应用

<ww:iterator value="areaList" status="st">
<ww:property value="list里的对象的字段"/>
</ww:iterator>


如果有N条数据但只想显示前五条可以

<ww:subset source="#list对象或者是数组对象" start="0" count= "5" >
<ww:iterator id="bean" status = "counts" >
<ww:property value="#bean.属性名" />
</ww:iterator>
</ww:subset>

如果所使用的是下拉菜单

<select name="select2" id="select2">
<option value="0">*请选择*</option>
<ww:iterator value="areaList" status="st">
<option value="<ww:property value="#st.index+1"/>"><ww:property value="list里对象的字段"/></option>
<ww:iterator>
</select>
注意一下。因为我已有一个“请选择”了。所以我在他的索引处又加了一个数字1;


如果是显示多行多列

<table width="800px" align="center">
<tr>
<s:iterator value="songs" status="st">
<td>
<input type="checkbox" name="songIds"
id="<s:property value='id'/>" value="<s:property value='id'/>"><label for="<s:property value='id'/>" class="checkboxLabel"><s:property value="name"/>
</td>
<s:if test="#st.modulus(2)==0">
<s:if test="#st.last">
</tr></s:if>
<s:else>
</tr><tr></s:else>
</s:if>
</s:iterator>
</table>

这里无非就是要注意 <s:if test="#st.modulus(2)==0">
来判断整除2是否为0,(也可以用<s:if test="#st.getIndex()%2==0)
并且注意如下的使用 #st.last,判断是否到了最后一条记录,并且注意:
iterator标签有如下方法:

boolean isEven() 当前迭代元素索引是否为偶数;
boolean isOdd() 当前迭代元素索引是否为奇数;
boolean isLast() 是否为最后一条元素;
boolean isFirst() 是否为第一条元素。

读书人网 >软件架构设计

热点推荐