struts2中對list和map集合進行封裝
阿新 • • 發佈:2019-02-02
一、對list集合進行封裝
1.首先建立一個user類,並重寫toString方法。
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.建立ListAction 類實現繼承ActionSupport的action類,新增user物件,再寫一個getter和setter方法,重寫excute方法
public class ListAction extends ActionSupport {
private List<User> list;
public List<User> getList() {
return users;
}
public void setUsers(List<User> list) {
this.list = list;
}
@Override
public String execute() throws Exception {
System.out.println(list);
return null;
}
}
3.在jsp頁面中,需要注意的是,input標籤中的name屬性不再是user物件的屬性名了,因為封裝的是list集合,所以要用list[i].屬性名來替換屬性名了。
<body>
<form action="${pageContext.request.contextPath}/list" method="post">
username1:<input type="text" name="list[0].username"><br>
password1:<input type="password" name="list[0].password"><br>
username2:<input type="text" name="list[1].username"><br>
password2:<input type="password" name="list[1].password"><br>
<input type="submit" value="登入">
</form>
</body>
4.在struts.xml配置檔案中,我們只需要配置以下內容,因為預設訪問的是excute方法,而且方法return的是null,所以其他內容可以省略。
<struts>
<package name="default" namespace="/" extends="struts-default">
<action name="list" class="com.csdn.action.ListAction">
</action>
</package>
</struts>
二、對map集合進行封裝
1.我們可以採用上面的user類
2.建立MapAction 類實現繼承ActionSupport的action類,新增user物件,再寫一個getter和setter方法,重寫excute方法
public class MapAction extends ActionSupport {
private Map<String, User> map;
public Map<String, User> getMap() {
return map;
}
public void setMap(Map<String, User> map) {
this.map = map;
}
@Override
public String execute() throws Exception {
System.out.println(map);
return null;
}
}
3.在jsp頁面中需要注意的是,因為要封裝的是map集合,我們用
map[‘鍵名’].屬性名來代替屬性名了,這裡我取了“a”和“b”作為鍵名。
<form action="${pageContext.request.contextPath}/map" method="post">
username1:<input type="text" name="map['a'].username"><br>
password1:<input type="password" name="map['a'].password"><br>
username2:<input type="text" name="map['b'].username"><br>
password2:<input type="password" name="map['b'].password"><br>
<input type="submit" value="登入">
</form>
4.struts.xml檔案的配置幾乎和上述相同
<struts>
<package name="default" namespace="/" extends="struts-default">
<action name="map" class="com.csdn.action.MapAction">
</action>
</package>
</struts>