2009-07-24

struts logic:iterate session

 Iterate主要用來處理 在頁面上輸出集合類,集合一般來說是下列之一:
  1 java物件的陣列
  2 ArrayListVectorHashMap
   具體用法請參考struts文檔,這�不作詳細介紹
  現在定義一個classUser.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 Password () {
   return (this. password);
  }
  public void setPassword (String password) {
   this. password = password;
  }
   }
  然後在一個struts webapplication(參見"Struts初體驗之實施篇")中創建一個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或者其他的屬性的, type是其中的集合類元素的類型
  beanwrite標記是用來將屬性輸出的,name用來匹配iterateidproperty用來匹配相應類的屬性

0 留言: