一、对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>