spring mvc 接收页面表单List
很少写博客,如果写的不好请多多包涵!
最近在用Spring mvc时遇到一个问题,在网上搜了很多资料。几乎没看到解决办法!
例如:当我们在做批量添加或者更新时,在Controller层接收表单数据的问题!
我们做一个对用户批量添加的实验!
用户Model:
1 public class User { 2 3 //用户名 4 private String username; 5 //密码 6 private String password; 7 8 public String getUsername() { 9 return username; 10 } 11 12 public void setUsername(String username) { 13 this.username = username == null ? null : username.trim(); 14 } 15 16 public String getPassword() { 17 return password; 18 } 19 20 public void setPassword(String password) { 21 this.password = password == null ? null : password.trim(); 22 } 23 24 public User(String username, String password) { 25 super(); 26 this.username = username; 27 this.password = password; 28 } 29 30 public User() { 31 super(); 32 } 33 34 }
控制层:
1 @Controller 2 @RequestMapping("/") 3 public class UserController { 4 /** 5 * Logger for this class 6 */ 7 private static final Logger logger = Logger.getLogger(UserController.class); 8 9 10 @RequestMapping("/user") 11 public void test(List<User> users){ 12 logger.debug(JSONArray.toJSON(users)); 13 } 14 }
我们在创建一个jsp:
1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 3 <html> 4 <head> 5 <title>表单批量提交</title> 6 </head> 7 8 <body> 9 <form action="user" method="post"> 10 用户名:<input type="text" name="username[0]"><br/> 11 密码:<input type="text" name="password[0]"><br/> 12 用户名:<input type="text" name="username[1]"><br/> 13 密码:<input type="text" name="password[1]"><br/> 14 <input type="submit"> 15 </form> 16 </body> 17 </html>
现在我们来测试下
我们可以看到后台报错了.具体为何大家可以去看源码
可以用2种方式解决这个问题:
1.在表单提交之前,把表单序列化成JSON格式传到后台,在来解析封装成List<User>.
2.
我们创建一个UserModel
1 public class UserModel { 2 private List<User> users; 3 4 public List<User> getUsers() { 5 return users; 6 } 7 8 public void setUsers(List<User> users) { 9 this.users = users; 10 } 11 12 public UserModel(List<User> users) { 13 super(); 14 this.users = users; 15 } 16 17 public UserModel() { 18 super(); 19 } 20 21 }
修改我们的控制层和页面
1 @RequestMapping("/user") 2 public void test(UserModel userModel ){ 3 logger.debug(JSONArray.toJSON(userModel)); 4 }
1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 3 <html> 4 <head> 5 <title>表单批量提交</title> 6 </head> 7 8 <body> 9 <form action="user" method="post"> 10 用户名:<input type="text" name="users[0].username"><br/> 11 密码:<input type="text" name="users[0].password"><br/> 12 用户名:<input type="text" name="users[1].username"><br/> 13 密码:<input type="text" name="users[1].password"><br/> 14 <input type="submit"> 15 </form> 16 </body> 17 </html>
我们来看下控制台打印的结果:
这样我们就解决啦!
转载于:https://www.cnblogs.com/wsw0515/p/3582627.html
spring mvc 接收页面表单List相关推荐
- Spring MVC 接收POST表单请求,获取参数总结
2019独角兽企业重金招聘Python工程师标准>>> 前段时间遇到一个问题,在spring mvc 服务端接收post请求时,通过html 表单提交的时候,服务端能够接收到参数的值 ...
- 本地html页面传递表单值,js实现两个页面表单传值并接收
js 实现两个页面表单传值并接收源码 A页面: function test(){ var s =document.getElementById("txt"); location.h ...
- html编写程序常用的,html编写简洁页面表单验证程序.doc
html编写简洁页面表单验证程序.doc html编写简洁页面表单验证程序 "-//W3C//DTD XHTML 1.0 Transitional//EN" "1/DTD ...
- spring mvc接收数组
(一)前言 对于springmvc接收数组的问题啊,我试验过几次,但是了有时候成功了,有时候失败了,也不知道为啥的,然后现在又要用到了,所以打算具体看看到底怎么回事,但是了我实验成功了顺便找了好多资料 ...
- PHP表单注册验证,JavaScript实现注册页面表单校验的实例分享
下面小编就为大家带来一篇JavaScript 完成注册页面表单校验的实例.小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧 1.步骤分析 第一步:确定事件(onsubmit ...
- struts1中页面表单提交给action后页面一片空白,无错无异常
最近使用struts1在写一个作业,昨天遇到了一个问题:页面表单提交之后,地址栏变为处理的action的地址,即以xxx.do结尾.然后页面一片空白,无错无异常.网上各位大大的总结是 1.在Actio ...
- spring mvc 接收表单 bean
spring MVC如何接收表单bean 呢? 之前项目中MVC框架一直用struts2,所以我也就按照struts2 的思维来思考 页面loginInput.jsp: Html代码 <?x ...
- spring mvc 接收页面数据
目录 1. 基本类型的数据封装 2. pojo(bean)类型的封装 3. 数组类型 4. list集合类型 1. 基本类型的数据封装 //http://localhost:8080/spring_m ...
- Spring MVC数据绑定和表单标签的应用(附带实例)
为了让读者进一步学习数据绑定和表单标签,本节给出了一个应用范例 springMVCDemo04.该应用中实现了 User 类属性和 JSP 页面中表单参数的绑定,同时在 JSP 页面中分别展示了 in ...
最新文章
- (Oracle)PL SQL的相关知识与实例
- 修改 keystore密码
- 凸集 凸函数 凸优化
- 浙江理工大学2019年5月赛
- 【机器视觉】 dev_set_draw算子
- leetcode 306. Additive Number | 306. 累加数(Java)
- 安装codeblocks17.12
- FreeCodeCamp纳什维尔聚会的回顾
- hdu3530Subsequence【单调队列优化dp】2010多校联合
- Pywick:追求功能完备的PyTorch高级训练库
- Silverlight Issue , Operation named 'CreateUser' does not conform to the required signature.
- 今天开始学习ADO.NET中的Connection对象(一)--SqlConnection对象连接SQL Server
- 浏览器与输入法——用户入口的争夺
- robo3t 1.3.1 安装教程
- 37.softmax多元逻辑回归
- 云服务器上硬盘是虚拟的吗,虚拟硬盘映射在主机上使用
- 企业级spring-boot案例-自定义Spring Boot Starter
- 大白菜U盘重装win7系统教程,PE重装win7系统教程
- 2022 年终奖个税计算方法,看看你被多收割了多少
- python infor_学习Python第7天-列出函数,列表,infor