Iterate主要用來處理在頁面上輸出集合類,集合一般來說是下列之一:
1、 java對象的數組
2、 ArrayList、Vector、HashMap等
? 具體用法請參考struts文檔,這里不作詳細介紹 ?
現在定義一個class,User.java 把它編譯成User.class
package example;
import java.io.Serializable;
public final class User implements Serializable {
private String name = null;
private String password = null;
public String getName () {
? return (this.name);
}
public void setName(String name) {
? this.name = name;
}
public String getPassword () {
? return (this. password);
}
public void setPassword (String password) {
? this. password = password;
}
}
? 然后在一個struts webapplication中創建一個jsp,例如iterate.jsp
<%@ page language="java" %>
<%@ page import="example.*"%>
<%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean" %>
<%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic" %>
<%
java.util.ArrayList list = new java.util.ArrayList();
User usera=new User();
usera.setName("white");
usera.setPassword("abcd");
list.add(usera);
User userb=new User();
userb.setName("mary");
userb.setPassword("hijk");
list.add(userb);
session.setAttribute("list", list);
%>
<html><body><table width="100%">
<logic:iterate id="a" name="list" type=" example.User ">
<tr><td width="50%">
? ? name: <bean:write name="a" property="name"/>
<td/><td width="50%">
? ? password: <bean:write name="a" property="password"/>
</td></tr>
</logic:iterate>
</table></body></html>
將User.class, iterate.jsp放到相應的目錄,運行iterate.jsp你就可以看到iterate的效果了
iterate標記
id ? 腳本變量的名稱,它保存著集合中當前元素的句柄。
name 代表了你需要疊代的集合,來自session或者request的屬性。
type 是其中的集合類元素的類型
bean的write標記是用來將屬性輸出的,name用來匹配iterate的id,property用來匹配相應類的屬性