使用springMVC如何接收一组对象

本文介绍了解决在SpringMVC项目中批量添加学生小组到数据库的问题,通过定义学生类和学生小组类,以及调整前台表单,实现了一次性添加多个学生到同一小组。同时提供了控制器接收和处理数据的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这几日在做一个项目的模块的时候碰到一个问题。当时需要把一组对象批量传回到后台进行保存,但是spring MVC接收时只能接收一个对象,而不能自动接收一个对象数组。比如这样一个例子:一个学生小组有统一的小组编号属性,每个学生有自己的学号、姓名、性别等属性,现在需要一次添加一个学生小组到数据库,在form表单中小组编号只需填写一次,每个学生的独立属性需要分别进行填写,点击添加按钮时一次性进行添加,这样在后台就不能用student[] 来接收了,那怎么办呢?

可以通过这样的方式进行处理,先定义学生类:

public class Student{
private String id;//学号
private String name;//姓名
private String sex;//性别
private String groupid;//小组编号
...//省略getter、setter方法

}

再定义一个小组类:

public class StudentArr{
private String groupid;//小组编号
private Student[] students;
...//省略getter、setter方法

}
当然前台form表单中也需要做出调整:
<form id="StudentGroup_addForm" method="post">
	<table">	
            <tr>
                 <th>小组编号</th>
                 <td colspan="3"><input name="groupid" /></td>
            </tr>
            <tr>
                 <th>姓名</th>
                 <td><input name="students[0].name" /></td>
                 <th>性别</th>
                 <td><input name="students[0].sex"/></td>
            </tr>
            <tr>
                 <th>姓名</th>
                 <td><input name="students[1].name" /></td>
                 <th>性别</th>
                 <td><input name="students[1].sex"/></td>
            </tr>
            <tr>
                 <th>姓名</th>
                 <td><input name="students[2].name" /></td>
                 <th>性别</th>
                 <td><input name="students[2].sex"/></td>
            </tr>
            <tr>
                 <th>姓名</th>
                 <td><input name="students[3].name" /></td>
                 <th>性别</th>
                 <td><input name="students[3].sex"/></td>
            </tr>
            <tr>
                 <th>姓名</th>
                 <td><input name="students[4].name" /></td>
                 <th>性别</th>
                 <td><input name="students[4].sex"/></td>
            </tr>
        </table>
</form>
在controller中就使用StudentArr来接收就可以了:
@RequestMapping("/add")
public  @ResponseBody Json add(StudentArr students) throws Exception {
     ...//
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值