这篇文章主要是对前端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进行具体操作
}
}
关键就是:
- 要有一个装实体类的容器
- 然后前端的name为
listname[index].prop
的形式 - controller的参数为定义了容器的类即可(可以在新建类中声明
List<User> userList
,而不一定要在该实体类内声明)