封装集合数据

封装集合数据

注意lisi集合提供下标,map提供键

在实际的开发中,有些时候我们需要批量插入用户或者批量插入其他的对象,在 Action 中需要
接受到这多个 Action 中封装的对象,然后传递给业务层。

那么这个时候就需要将表单的数据封装到
集合中。一般我们通常使用的集合无非是List或者是Map集合。

下面就以这两种集合进行数据的封
装的示例演示。

封装到 List

动作类:

/** 
 * 封装集合数据: 
 *  它用的也是属性驱动 
 *  
 * @author Johnny.Chen 
 */ 
public class Demo4Action extends ActionSupport { 

  private List users; 

  public String demo4(){ 
    System.out.println(users); 
    return SUCCESS; 
  } 

  public List getUsers() { 
    return users; 
  } 

  public void setUsers(List users) { 
    this.users = users; 
  }   
} 

jsp页面:

<%--表单 4:封装 List 集合数据 --%> 
<form action="${pageContext.request.contextPath}/demo4.action" method="post"> 
  用户名 1:<input type="text" name="users[0].name"/><br/> 
  年龄 1:<input type="text" name="users[0].age"/><br/> 
  用户名 2:<input type="text" name="users[1].name"/><br/> 
  年龄 2:<input type="text" name="users[1].age"/><br/> 
  用户名 3:<input type="text" name="users[2].name"/><br/> 
  年龄 3:<input type="text" name="users[2].age"/><br/> 
  <input type="submit" value="提交"/> 
form> 

struts.xml:

name="demo4" class="cn.action.Demo4Action" method="demo4"> 
  <result name="success">/success.jspresult> 
 

封装到 Map

动作类:

/** 
 * 封装集合数据: 
 *  它用的也是属性驱动 
 *  
 * @author Johnny.Chen 
 */ 
public class Demo5Action extends ActionSupport { 

  private Map users; 

  public String demo5(){ 
    System.out.println(users); 
    return SUCCESS; 
  } 

  public Map getUsers() { 
    return users; 
  } 

  public void setUsers(Map users) { 
    this.users = users; 
  } 
} 

jsp页面:

<%--表单 5:封装 map 集合数据 --%> 
<form action="${pageContext.request.contextPath}/demo5.action" method="post"> 
  用户名 1:<input type="text" name="users['one'].name"/><br/> 
  年龄 1:<input type="text" name="users['one'].age"/><br/> 
  用户名 2:<input type="text" name="users['two'].name"/><br/> 
  年龄 2:<input type="text" name="users['two'].age"/><br/> 
  用户名 3:<input type="text" name="users['three'].name"/><br/> 
  年龄 3:<input type="text" name="users['three'].age"/><br/> 
  <input type="submit" value="提交"/> 
form> 

struts.xml:

name="demo5" class="cn.action.Demo5Action" method="demo5"> 
  <result name="success">/success.jspresult> 

你可能感兴趣的:(struts2)