打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
SpringMVC form表单提交list对象集合

form表单页面

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fmt" uri="http://java.sun.com/jsp/jstl/fmt" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>
<c:set var="ctx" value="<%=request.getContextPath()%>" />
<html>
<head>
    <title></title>
</head>
<body>
<form id="form" action="${ctx }/list/aaa" method="post">
  <%--<input type="text" name="user[0].userName" value="jobs"/>--%>
  <%--<input type="text" name="user[0].password" value="55"/><br/>--%>
  <%--<input type="text" name="user[1].userName" value="jim"/>--%>
  <%--<input type="text" name="user[1].password" value="21"/><br/>--%>
    <%--<%! int m = 0; %>--%>
  <c:forEach items="${users}" var="user" varStatus="i">
    <%--users[${i.index}]--%>
    <input type="text" name="users[${i.index}].id" value="${user.id}"/><br/>
    <input type="text" name="users[${i.index}].name" value="${user.name}"/><br/>
    <input type="text" name="users[${i.index}].password" value="${user.password}"/><br/>
    <c:forEach items="${user.roses}" var="role" varStatus="j">
      <input type="hidden" name="roles[${i.index}].index" value="${i.index}"/>
      <input type="hidden" name="roles[${i.index}].id" value="${role.id}"/>
          <input type="text" name="roles[${i.index}].roleId" value="${role.roleId}"><br/>
          <input type="text" name="roles[${i.index}].rolename" value="${role.rolename}"><br/>
      <%--<input type="hidden" name="roles[<%=m%>].id" value="${i.index}"/>--%>
      <%--    <input type="text" name="roles[<%=m%>].roleId" value="${role.roleId}"><br/>--%>
      <%--    <input type="text" name="roles[<%=m%>].rolename" value="${role.rolename}"><br/>--%>
      <%--<% m++; %>--%>
    </c:forEach>
  </c:forEach>
  <button onclick="submit()">提交</button>
</form>
</body>
</html>


controller接收数据格式

javabean对象

public class User {


    private Integer id;
    private String name;
    private String password;
    private List<Role> roses;


    public Integer getId() {
        return id;
    }


    public void setId(Integer id) {
        this.id = id;
    }


    public String getName() {
        return name;
    }


    public void setName(String name) {
        this.name = name;
    }


    public String getPassword() {
        return password;
    }


    public void setPassword(String password) {
        this.password = password;
    }


    public List<Role> getRoses() {
        return roses;
    }


    public void setRoses(List<Role> roses) {
        this.roses = roses;
    }
}


public class Roles {
    private Integer[] roleId;
    private Integer[] id;
    private String[] rolename;
    private Integer[] index;


    public Integer[] getRoleId() {
        return roleId;
    }


    public void setRoleId(Integer[] roleId) {
        this.roleId = roleId;
    }


    public Integer[] getId() {
        return id;
    }


    public void setId(Integer[] id) {
        this.id = id;
    }


    public String[] getRolename() {
        return rolename;
    }


    public void setRolename(String[] rolename) {
        this.rolename = rolename;
    }


    public Integer[] getIndex() {
        return index;
    }


    public void setIndex(Integer[] index) {
        this.index = index;
    }
}

form表单提交的list集合转换的对象

public class Person {
    private List<User> users;
    private List<Roles> roles;


    public List<User> getUsers() {
        return users;
    }


    public void setUsers(List<User> users) {
        this.users = users;
    }


    public List<Roles> getRoles() {
        return roles;
    }


    public void setRoles(List<Roles> roles) {
        this.roles = roles;
    }
}

contoller

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.stereotype.Controller;
import org.springframework.ui.ModelMap;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;


import javax.servlet.http.HttpServletRequest;
import java.io.DataOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;


/**
 * Created by Administrator on 2016-12-22.
 */
@Controller
@RequestMapping("/list")
public class FormListController {


    @RequestMapping("/getjsp")
    public ModelAndView jsp(ModelMap view){
        List<User> users = new ArrayList<User>();
        User user1 = new User();
        user1.setId(1);
        user1.setName("aaa");
        user1.setPassword("111");
        List<Role> roles = new ArrayList<Role>();
        Role role1 = new Role();
        role1.setId(1);
        role1.setRoleId(1);
        role1.setRolename("qqq");
        Role role2 = new Role();
        role2.setId(1);
        role2.setRoleId(2);
        role2.setRolename("www");
        roles.add(role1);
        roles.add(role2);
        user1.setRoses(roles);


        User user2 = new User();
        user2.setId(2);
        user2.setName("bbb");
        user2.setPassword("222");
        List<Role> roles1 = new ArrayList<Role>();
        Role role3 = new Role();
        role3.setId(2);
        role3.setRoleId(3);
        role3.setRolename("eee");
        Role role4 = new Role();
        role4.setId(2);
        role4.setRoleId(4);
        role4.setRolename("rrr");
        roles1.add(role3);
        roles1.add(role4);
        user2.setRoses(roles1);


        users.add(user1);
        users.add(user2);
        view.put("users", users);
        try {
            System.out.println(new ObjectMapper().writeValueAsString(users));
        } catch (JsonProcessingException e) {
            e.printStackTrace();
        }
        return new ModelAndView("test/list");
    }


    
    @RequestMapping(value = "/aaa")
    public String aaa(Person users){
        System.out.println("11111");
        try {
            List<User> userList = users.getUsers();
            for(int i=0; i<userList.size(); i++){
                Roles roles = users.getRoles().get(i);
                List<Role> roleList = new ArrayList<Role>();
                for(int j=0; j<roles.getId().length; j++){
                    Role role = new Role();
                    role.setId(roles.getId()[j]);
                    role.setRoleId(roles.getRoleId()[j]);
                    role.setRolename(roles.getRolename()[j]);
                    roleList.add(role);
                }
                userList.get(i).setRoses(roleList);
            }
            System.out.println(new ObjectMapper().writeValueAsString(users.getUsers()));
        } catch (JsonProcessingException e) {
            e.printStackTrace();
        }
        return null;
    }
}

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
我的shiro之旅: 十一 shiro的权限设计
MVC3 Custom AuthorizeAttribute
旅游后台项目——SSM权限操作(Spring Security)
fastjson知多少
hibernate annotation注解方式来处理映射关系
Java 中正确使用 hashCode 和 equals 方法
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服