Struts2把資料封裝到集合中之封裝到Collection中
阿新 • • 發佈:2018-12-12
資料封裝到集合中,可以封裝到集合中,也可以封裝到Map中。該篇部落格主要講解資料封裝到集合中的封裝到Collection中。
1. 封裝複雜型別的引數(集合型別 Collection 、Map介面等)
2. 需求:頁面中有可能想批量新增一些資料,那麼現在就可以使用上述的技術了。把資料封裝到集合中
3. 把資料封裝到Collection中(單元素集合)封裝到集合集合中可以儲存多條資料
* 因為Collection介面都會有下標值,所有頁面的寫法會有一些區別,注意:
> <input type="text" name="products[0].name" /> product為集合的名字
* 在Action中的寫法,需要提供products的集合,並且提供get和set方法。
以封裝到list集合為例:
1.建立javaBean類User:
package com.huida.domain; public class User { private String username; private String password; public String getUsername() { return username; } public void setUsername(String username) {this.username = username; } public String getPassword() { return password; } public void setPassword(String password) { this.password = password; } @Override public String toString() { return "User [username=" + username + ", password=" + password + "]"; } }
2.建立action類RegistAction:這裡的寫法與封裝資料的屬性封裝寫法類似:定義屬性(注意這裡不需要例項化),然後定義set和get方法即可。
package com.huida.action1; import java.util.List; import com.huida.domain.User; import com.opensymphony.xwork2.ActionSupport; public class Regist4Action extends ActionSupport{ List<User> list;//這裡list作為屬性,不需要new例項 //定義Set和get方法 public List<User> getList() { return list; } public void setList(List<User> list) { this.list = list; } @Override public String execute() throws Exception { for(User user:list){ //如果成功就會輸出 System.out.println(user); } return NONE; } }
3.對action在struts.xml中進行配置:
<package name="demo" namespace="/" extends="struts-default"> <action name="regist4Action" class="com.huida.action1.Regist4Action"></action> </package>
4.書寫表單,因為集合可以封裝多條資料,所以這裡在表單中多寫幾條記錄:這裡還要注意name中值的寫法:list[0].username
<h3>資料封裝到list集合中</h3> <!-- 將資料封裝到集合中,可以封裝多條資料,所以我們在這裡多寫幾個記錄 --> <form action="${ pageContext.request.contextPath }/regist4Action.action" method="post"> 姓名<input type="text" name="list[0].username"/><br/> 密碼<input type="text" name="list[0].password"/><br/> 姓名<input type="text" name="list[1].username"/><br/> 密碼<input type="text" name="list[1].password"/><br/> <input type="submit" value="註冊">
注意:表單請求跳轉的頁面(regist4Action.action)應該與struts.xml配置檔案中action標籤中name對應的值相同,否則會出現資源找不到的錯誤。
啟動伺服器,執行index.jsp頁面,在表單中輸入姓名和密碼,點選註冊,會在控制檯輸出如下內容表示封裝資料成功:
所以我們可以利用集合來對資料進行批量處理(批量載入,批量刪除)。