struts2中iterator里属性status="st"的含义
iterator 描述:
用于遍历集合(java.util.Collection)或枚举值(java.util.Iterator)。
参数:
名称 | 必需 | 默认类型 | 描述 |
---|---|---|---|
status | 否 | String | 如果设置此参数,一个IteratorStatus的实例将会压入每个遍历的堆栈 |
value | 否 | Object/String | 要遍历的可枚举的(iteratable)数据源,或者将放入新列表(List)的对象 |
id | 否 | Object/String | 用来标识元素的id。在UI和表单中为HTML的id属性 |
例子:
1. <%@ pagecontentType="text/html; charset=UTF-8"%>
2. <%@ page import="java.util.List"%>
3. <%@ page import="java.util.ArrayList"%>
4. <%@ taglib prefix="s" uri="/struts-tags"%>
5.
6. <!DOCTYPE HTMLPUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
7. <%
8. List list =newArrayList();
9. list.add("Max");
10. list.add("Scott");
11. list.add("Jeffry");
12. list.add("Joe");
13. list.add("Kelvin");
14. request.setAttribute("names", list);
15.%>
16.<html>
17.<head>
18. <title>Iterator</title>
19.</head>
20.<body>
21.<h3>Names:</h3>
22.<!--
23. 1、此处的空property元素用于获得当前iterator的值
24. 2、status被设成stuts,在iterator的里面就可以通过#stuts取得IteratorStatus的对象。IteratorStatus类包含当前序号信息,如是否第一个或最后一个,是否为奇数序号。这些信息在我们做格式化的时候,显得非常有用。
25.-->
26.<ol>
27. <s:iterator value="#request.names" status="st">
28. <s:if test="#st.odd ==true">
29. <li>White<s:property /></li>
30. </s:if>
31. <s:else>
32. <li style="background-color:gray"><s:property /></li>
33. </s:else>
34. </s:iterator>
35.</ol>
36.</body>
37.</html>
所有status支持的方法: int getCount() 返回现在是第几个元素(从1开始)
int getIndex() 返回当前元素索引(从0开始)
boolean isOdd() 当前元素索引是否奇数
boolean isEven() 当然的索引是否偶数
boolean isFirst() 当前是否第一个元素
boolean isLast() 当前是否最后一个元素