Struts2中iterator标签的使用
2010-07-15 13:18
483 查看
描述:
用于遍历集合(java.util.Collection)或枚举值(java.util.Iterator)。
参数:
例子:
<%
@ page contentType
=
"
text/html;
charset=UTF-8
"
%>
<%
@ page import
=
"
java.util.List
"
%>
<%
@ page import
=
"
java.util.ArrayList
"
%>
<%
@ taglib prefix
=
"
s
"
uri
=
"
/struts-tags
"
%>
<!
DOCTYPE
HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
>
<%
List list
=
new
ArrayList();
list.add(
"
Max
"
);
list.add(
"
Scott
"
);
list.add(
"
Jeffry
"
);
list.add(
"
Joe
"
);
list.add(
"
Kelvin
"
);
request.setAttribute(
"
names
"
,
list);
%>
<
html
>
<
head
>
<
title
>
Iterator
</
title
>
</
head
>
<
body
>
<
h3
>
Names:
</
h3
>
<!--
1、此处的空property元素用于获得当前iterator的值
2、status被设成stuts,在iterator的里面就可以通过#stuts取得IteratorStatus的对象。
IteratorStatus类包含当前序号信息,如是否第一个或最后一个,是否为奇数序号。这些信息在我们做格式化的时候,显得非常有用。
-->
<
ol
>
<
s:iterator
value
="#request.names"
status
="stuts"
>
<
s:if
test
="#stuts.odd == true"
>
<
li
>
White
<
s:property
/></
li
>
</
s:if
>
<
s:else
>
<
li
style
="background-color:gray"
><
s:property
/></
li
>
</
s:else
>
</
s:iterator
>
</
ol
>
</
body
>
</
html
>
在struts2中,iterator标签是很好用的,但也要注意一下.举个例子,
如果要在每行中只显示两条记录,这个经常用到的例子来的
了,可以这样用:
<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() 是否为第一条元素。
有以上元素,那么判断何时加入tr就非常方便。
用于遍历集合(java.util.Collection)或枚举值(java.util.Iterator)。
参数:
名称 | 必需 | 默认 | 类型 | 描述 |
status | 否 | String | 如果设置此参数,一个IteratorStatus的实例将会压入每个遍历的堆栈 | |
value | 否 | Object/String | 要遍历的可枚举的(iteratable)数据源,或者将放入新列表(List)的对象 | |
id | 否 | Object/String | 用来标识元素的id。在UI和表单中为HTML的id属性 |
<%
@ page contentType
=
"
text/html;
charset=UTF-8
"
%>
<%
@ page import
=
"
java.util.List
"
%>
<%
@ page import
=
"
java.util.ArrayList
"
%>
<%
@ taglib prefix
=
"
s
"
uri
=
"
/struts-tags
"
%>
<!
DOCTYPE
HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
>
<%
List list
=
new
ArrayList();
list.add(
"
Max
"
);
list.add(
"
Scott
"
);
list.add(
"
Jeffry
"
);
list.add(
"
Joe
"
);
list.add(
"
Kelvin
"
);
request.setAttribute(
"
names
"
,
list);
%>
<
html
>
<
head
>
<
title
>
Iterator
</
title
>
</
head
>
<
body
>
<
h3
>
Names:
</
h3
>
<!--
1、此处的空property元素用于获得当前iterator的值
2、status被设成stuts,在iterator的里面就可以通过#stuts取得IteratorStatus的对象。
IteratorStatus类包含当前序号信息,如是否第一个或最后一个,是否为奇数序号。这些信息在我们做格式化的时候,显得非常有用。
-->
<
ol
>
<
s:iterator
value
="#request.names"
status
="stuts"
>
<
s:if
test
="#stuts.odd == true"
>
<
li
>
White
<
s:property
/></
li
>
</
s:if
>
<
s:else
>
<
li
style
="background-color:gray"
><
s:property
/></
li
>
</
s:else
>
</
s:iterator
>
</
ol
>
</
body
>
</
html
>
在struts2中,iterator标签是很好用的,但也要注意一下.举个例子,
如果要在每行中只显示两条记录,这个经常用到的例子来的
了,可以这样用:
<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() 是否为第一条元素。
有以上元素,那么判断何时加入tr就非常方便。
相关文章推荐
- struts2中iterator标签的嵌套使用(if/else)
- struts2 标签的使用之s:iterator
- struts2 标签的使用之二 s:iterator
- struts2中s:iterator 标签的使用详解
- Struts2中<s-if>和<s-iterator>标签的使用
- 使用Struts2的iterator标签轻松遍历复杂的Map类型
- struts2 标签的使用之 s:iterator
- struts2 标签的使用之二 s:iterator
- 使用Struts2的iterator标签遍历复杂Map种类
- struts2中iterator标签的嵌套使用(if/else)
- DWZ SSH2 菜单树--使用Struts2 标签(iterator/set/if 组合使用)
- struts2中s:iterator 标签的使用详解
- struts2中s:iterator 标签的使用详解
- struts2中iterator标签的相关使用
- struts2 标签的使用之二 s:iterator
- 使用Struts2的iterator标签遍历复杂的Map类型
- Struts2中<s-if>和<s-iterator>标签的使用
- struts2中iterator标签的相关使用
- struts2 iterator标签使用
- struts2中的标签iterator使用