1、前端代码中
在form的表单元素的name属性中,填写类似XXX[index].name的属性名,我这里采用的是thymeleaf模板框架构建的,其它前端可以做类似的修改。
<form class="form-horizontal m-t" id="signupForm"> <div class="form-group"> <label class="col-sm-3 control-label">项目编号:</label> <div class="col-sm-8"> <input id="projectNumber" name="projectNumber" th:value="${dict.projectNumber}" class="form-control" type="text"> </div> </div> <th:block th:unless="${#lists.isEmpty(dict.records)}"> <th:block th:each="r,stat : ${dict.records}"> <div class="form-group"> <label class="col-sm-3 control-label" th:text="收款时间+${stat.count}+:"></label> <div class="col-sm-8"> <input id="moneyTime" th:name="records[+${stat.index}+].moneyTime" th:value="${r.moneyTime}" class="form-control" type="text"> </div> </div> <div class="form-group"> <label class="col-sm-3 control-label" th:text="收款金额+${stat.count}+:"></label> <div class="col-sm-8"> <input id="sumMoney" th:name="records[+${stat.index}+].sumMoney" th:value="${r.sumMoney}" class="form-control" type="text"> </div> </div> </th:block> </th:block> <div class="form-group"> <div class="col-sm-8 col-sm-offset-3"> <button type="submit" class="btn btn-primary">提交</button> </div> </div> </form>
这样的表单,提交后,浏览器抓到的数据结构:
Form Data:
projectNumber: ZWI89
records[0].moneyTime: 2019-01-03
records[0].sumMoney: 239.0000
records[1].moneyTime: 2019-01-02
records[1].sumMoney: 346.0000
records[0].moneyTime: 2019-01-03
records[0].sumMoney: 239.0000
records[1].moneyTime: 2019-01-02
records[1].sumMoney: 346.0000
2、后端的controller
/** * 修改 */ @ResponseBody @RequestMapping("/update") public R update(SellContractVO records) { System.out.println(JSON.toJSONString(records)); // sellContractService.update(records); return R.ok(); }
controller打印出的结果
{ "projectNumber": "ZWI89", "records": [{ "moneyTime": "2019-01-03", "sumMoney": "239.0000" }, { "moneyTime": "2019-01-02", "sumMoney": "346.0000" }] }
3、实体类SellContractVO
public class SellContractVO implements Serializable { private static final long serialVersionUID = 3768978134789546577L; /** * 项目编号 */ private String projectNumber; /** * 收付款记录 */ private List<MoneyRecord> records; public String getProjectNumber() { return projectNumber; } public void setProjectNumber(String projectNumber) { this.projectNumber = projectNumber; } public List<MoneyRecord> getRecords() { return records; } public void setRecords(List<MoneyRecord> records) { this.records = records; } }
4、实体类MoneyRecord
package com.bootdo.contract.vo; import java.io.Serializable; public class MoneyRecord implements Serializable { /** * */ private static final long serialVersionUID = 7671784309099657317L; /** * 主键id */ private Long id; /** * 收付款时间 */ private String moneyTime; /** * 收付款金额 */ private String sumMoney; public MoneyRecord() { super(); } public MoneyRecord(Long id, String moneyTime, String sumMoney) { super(); this.id = id; this.moneyTime = moneyTime; this.sumMoney = sumMoney; } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getMoneyTime() { return moneyTime; } public void setMoneyTime(String moneyTime) { this.moneyTime = moneyTime; } public String getSumMoney() { return sumMoney; } public void setSumMoney(String sumMoney) { this.sumMoney = sumMoney; } }
参考链接:https://blog.csdn.net/lutinghuan/article/details/46820023
相关推荐
本demo 用来写了springmvc如何接受ajax传集合以及接收form表单传集合
springmvc接收数据的几种方式,根据前端传递的数据类型判断用怎样的方式去接收。 @PathVariable、@RequestParam 和 @RequestBody 的使用场景。在不同情况下如何接收,以及他们之间的区别。
springmvc接收ajax请求注意事项
下面小编就为大家分享一篇浅谈springMVC接收前端json数据的总结,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
主要为大家详细介绍了SpringMVC接收多个对象的4种方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
主要介绍了SpringMVC接收复杂集合对象(参数)代码示例,举接收List、List、List<Map>>、User[]、User(bean里面包含List)几种较为复杂的集合参数,具有一定参考价值,需要的朋友可以了解下。
springmvc 第二个例子(接收表单参数+重定向)
本篇文章主要介绍了SpringMVC接收页面表单参数的相关知识,具有很好的参考价值。下面跟着小编一起来看下吧
NULL 博文链接:https://dayongge.iteye.com/blog/2269217
SpringMVC后台接收请求参数的几种方式源码。总结了常用的注解,介绍GET和POST请求方式下的参数传递方法。
本文详细解析了springmvc接收参数的各种情况,适合项目实践开发调试。
web前端与springmvc文档
springmvc form表单的使用。 简单的说明了如何使用form表单并绑定pojo,包括主子表的form请求到一个pojo
本篇文章主要介绍了SpringMVC实现前端后台传递数据的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。
SpringMVC+sqlitejdbc的开发jar集合
mybati与springmvc,前端用的jquery easyui,学习实例,实现对数据的增删改查的功能,适合新手学习使用,mybati与springmvc,前端用的jquery easyui,学习实例,实现对数据的增删改查的功能,适合新手学习使用
springmvc增删改,分页,导入数据等功能springmvc增删改,分页,导入数据等功能springmvc增删改,分页,导入数据等功能springmvc增删改,分页,导入数据等功能
SpringMVC接收请求参数区别
配置多数据源、SpringMVC框架下多数据源的配置问题、如何在同一个项目中使用多个数据库、如果在同一个项目中使用不同的数据库。
springmvc-demo08-返回JSON数据.zip