2 回答
TA貢獻(xiàn)1886條經(jīng)驗(yàn) 獲得超2個(gè)贊
//status表示當(dāng)前的迭代狀態(tài),雙引號(hào)內(nèi)的名稱可以隨便寫(xiě),用法如下。
<%
List<String> list = new LinkedList<String>();
for (int i = 0; i < 18; i++) {
list.add("String" + i);
}
request.setAttribute("list", list);
%>
<s:iterator var="item" value="#request.list" status="st">
<s:property value="item" />
<s:if test="#st.index % 5 == 4 || #st.last">
<br />
</s:if>
</s:iterator>
//所有status支持的方法
int getCount()返回現(xiàn)在是第幾個(gè)元素(從1開(kāi)始)
int getIndex()返回當(dāng)前元素索引(從0開(kāi)始)
boolean isOdd()當(dāng)前元素索引是否奇數(shù)
boolean isEven()當(dāng)然的索引是否偶數(shù)
boolean isFirst()當(dāng)前是否第一個(gè)元素
boolean isLast()當(dāng)前是否最后一個(gè)元素
TA貢獻(xiàn)1816條經(jīng)驗(yàn) 獲得超6個(gè)贊
下面給你相關(guān)描述,并提供一個(gè)例子幫你理解一下。
iterator 描述:
用于遍歷集合(java.util.Collection)或枚舉值(java.util.Iterator)。
參數(shù):
名稱 必需 默認(rèn) 類型 描述
status 否 String 如果設(shè)置此參數(shù),一個(gè)IteratorStatus的實(shí)例將會(huì)壓入每個(gè)遍歷的堆棧
value 否 Object/String 要遍歷的可枚舉的(iteratable)數(shù)據(jù)源,或者將放入新列表(List)的對(duì)象
id 否 Object/String 用來(lái)標(biāo)識(shí)元素的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元素用于獲得當(dāng)前iterator的值
2、status被設(shè)成stuts,在iterator的里面就可以通過(guò)#stuts取得IteratorStatus的對(duì)象。IteratorStatus類包含當(dāng)前序號(hào)信息,如是否第一個(gè)或最后一個(gè),是否為奇數(shù)序號(hào)。這些信息在我們做格式化的時(shí)候,顯得非常有用。
-->
<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>
- 2 回答
- 0 關(guān)注
- 814 瀏覽
添加回答
舉報(bào)
