很少写博客,如果写的不好请多多包涵!

最近在用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相关推荐

  1. Spring MVC 接收POST表单请求,获取参数总结

    2019独角兽企业重金招聘Python工程师标准>>> 前段时间遇到一个问题,在spring mvc 服务端接收post请求时,通过html 表单提交的时候,服务端能够接收到参数的值 ...

  2. 本地html页面传递表单值,js实现两个页面表单传值并接收

    js 实现两个页面表单传值并接收源码 A页面: function test(){ var s =document.getElementById("txt"); location.h ...

  3. html编写程序常用的,html编写简洁页面表单验证程序.doc

    html编写简洁页面表单验证程序.doc html编写简洁页面表单验证程序 "-//W3C//DTD XHTML 1.0 Transitional//EN" "1/DTD ...

  4. spring mvc接收数组

    (一)前言 对于springmvc接收数组的问题啊,我试验过几次,但是了有时候成功了,有时候失败了,也不知道为啥的,然后现在又要用到了,所以打算具体看看到底怎么回事,但是了我实验成功了顺便找了好多资料 ...

  5. PHP表单注册验证,JavaScript实现注册页面表单校验的实例分享

    下面小编就为大家带来一篇JavaScript 完成注册页面表单校验的实例.小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧 1.步骤分析 第一步:确定事件(onsubmit ...

  6. struts1中页面表单提交给action后页面一片空白,无错无异常

    最近使用struts1在写一个作业,昨天遇到了一个问题:页面表单提交之后,地址栏变为处理的action的地址,即以xxx.do结尾.然后页面一片空白,无错无异常.网上各位大大的总结是 1.在Actio ...

  7. spring mvc 接收表单 bean

    spring MVC如何接收表单bean 呢? 之前项目中MVC框架一直用struts2,所以我也就按照struts2 的思维来思考 页面loginInput.jsp: Html代码   <?x ...

  8. spring mvc 接收页面数据

    目录 1. 基本类型的数据封装 2. pojo(bean)类型的封装 3. 数组类型 4. list集合类型 1. 基本类型的数据封装 //http://localhost:8080/spring_m ...

  9. Spring MVC数据绑定和表单标签的应用(附带实例)

    为了让读者进一步学习数据绑定和表单标签,本节给出了一个应用范例 springMVCDemo04.该应用中实现了 User 类属性和 JSP 页面中表单参数的绑定,同时在 JSP 页面中分别展示了 in ...

最新文章

  1. (Oracle)PL SQL的相关知识与实例
  2. 修改 keystore密码
  3. 凸集 凸函数 凸优化
  4. 浙江理工大学2019年5月赛
  5. 【机器视觉】 dev_set_draw算子
  6. leetcode 306. Additive Number | 306. 累加数(Java)
  7. 安装codeblocks17.12
  8. FreeCodeCamp纳什维尔聚会的回顾
  9. hdu3530Subsequence【单调队列优化dp】2010多校联合
  10. Pywick:追求功能完备的PyTorch高级训练库
  11. Silverlight Issue , Operation named 'CreateUser' does not conform to the required signature.
  12. 今天开始学习ADO.NET中的Connection对象(一)--SqlConnection对象连接SQL Server
  13. 浏览器与输入法——用户入口的争夺
  14. robo3t 1.3.1 安装教程
  15. 37.softmax多元逻辑回归
  16. 云服务器上硬盘是虚拟的吗,虚拟硬盘映射在主机上使用
  17. 企业级spring-boot案例-自定义Spring Boot Starter
  18. 大白菜U盘重装win7系统教程,PE重装win7系统教程
  19. 2022 年终奖个税计算方法,看看你被多收割了多少
  20. python infor_学习Python第7天-列出函数,列表,infor

热门文章

  1. 用Spring Web Flow和Terracotta搭建Web应用
  2. F - 等式(1/x + 1/y = 1/n)
  3. vmware workstation使用方法
  4. Python创建daemon
  5. 使用Navicat定时备份mysql数据库和创建报表并邮件自动发送
  6. 构建并购重组服务链 蚁合拟推出三大数据平台
  7. 【转】Android 4.3源码的下载和编译环境的安装及编译
  8. 国有大型企业数据级同城异地灾难备份案例
  9. 【原创】parseInt大改造
  10. 4个月原生weex混合开发终结()