一.将表单数据封装到Map集合中
1.创建MapAction类
import cn.entity.User;
import com.opensymphony.xwork2.ActionSupport;
import java.util.Map;
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(){
System.out.println(map);
return NONE;
}
}
2.创建map.jsp
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<html>
<head>
<title>Title</title>
</head>
<body>
<form action="${pageContext.request.contextPath}/map.action" method="post">
username:<input name="map[0].username" type="text"><br>
password:<input name="map[0].password" type="password"><br>
<br><br>
username:<input name="map[1].username" type="text"><br>
password:<input name="map[1].password" type="password"><br>
<input type="submit" name="Submit" value="提交">
</form>
</body>
</html>
3.表单页面
在Struts.xml文件中中加入以下语句
<struts>
<package name="myPackage" extends="struts-default" namespace="/">
<!-- <action name="data3" class="cn.data.DateDemo2Action"></action>-->
<!-- <action name="list" class="cn.data.ListAction"></action>-->
<action name="map" class="cn.data.MapAction"></action>
</package>
</struts>
**流程:**浏览器在解析表单数据会在MapAction实体类中找到getMap方法获取Map类对象,然后在User实体类中找到setUsername()等set方法将数据封装到实体类对象中
综上所述:将数据封装List集合同Map相同