前端name相同的时候后台获取数据

126 阅读1分钟

这篇文章主要是对前端name相同的时候后台获取数据的实现。

以添加用户为例。

用户实体类

public class User{
    //用户表字段
    private String name;
    private String age;
    
    //为了获取到前端多个name相同的数据,需要有一个装User的List容器
    private List<User> userList;
    
    //包括list在内的getter setter方法
}

前端页面

<form action="/save" method="post">
    <input type="text" name="userList[0].name" placeholder="姓名">
    <input type="text" name="userList[0].age" placeholder="年龄">
    
    <input type="text" name="userList[1].name" placeholder="姓名">
    <input type="text" name="userList[1].age" placeholder="年龄">
</form>

controller

@requestMapping("save")
public ... save(User user, ...){
    //取出数据
    List<User> userList = user.getUserList();
    for (User u : userList) {
        //循环list,对每个user进行具体操作
    }
}

关键就是:

  1. 要有一个装实体类的容器
  2. 然后前端的name为listname[index].prop的形式
  3. controller的参数为定义了容器的类即可(可以在新建类中声明List<User> userList,而不一定要在该实体类内声明)