2 回答

TA貢獻1886條經驗 獲得超2個贊
//status表示當前的迭代狀態,雙引號內的名稱可以隨便寫,用法如下。
<%
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()返回現在是第幾個元素(從1開始)
int getIndex()返回當前元素索引(從0開始)
boolean isOdd()當前元素索引是否奇數
boolean isEven()當然的索引是否偶數
boolean isFirst()當前是否第一個元素
boolean isLast()當前是否最后一個元素

TA貢獻1816條經驗 獲得超6個贊
下面給你相關描述,并提供一個例子幫你理解一下。
iterator 描述:
用于遍歷集合(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>
- 2 回答
- 0 關注
- 792 瀏覽
添加回答
舉報