一.将表单数据封装到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相同

posted on 2020-10-02 19:05  凸凸大军的一员  阅读(93)  评论(0编辑  收藏  举报