您的位置:首页 > 编程语言 > Java开发

SpringMVC form表单提交list对象集合

2016-12-29 15:11 531 查看
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;

    }

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: