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 关注
- 762 浏览
添加回答
举报