博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
spring mvc 接收页面表单List
阅读量:6328 次
发布时间:2019-06-22

本文共 2666 字,大约阅读时间需要 8 分钟。

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

最近在用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
users){12 logger.debug(JSONArray.toJSON(users));13 }14 }

 

我们在创建一个jsp:

 

1 <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> 2  3  4    5     表单批量提交 6    7    8    9           
10 用户名:
11 密码:
12 用户名:
13 密码:
14
15
16 17

现在我们来测试下

我们可以看到后台报错了.具体为何大家可以去看源码

可以用2种方式解决这个问题:

1.在表单提交之前,把表单序列化成JSON格式传到后台,在来解析封装成List<User>.

2.

我们创建一个UserModel

1 public class UserModel { 2     private List
users; 3 4 public List
getUsers() { 5 return users; 6 } 7 8 public void setUsers(List
users) { 9 this.users = users;10 }11 12 public UserModel(List
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  3  4    5     表单批量提交 6    7    8    9           
10 用户名:
11 密码:
12 用户名:
13 密码:
14
15
16 17

我们来看下控制台打印的结果:

这样我们就解决啦!

转载于:https://www.cnblogs.com/wsw0515/p/3582627.html

你可能感兴趣的文章
还原论方法无法解开意识之谜,理解意识需要整体考虑
查看>>
程序员面试被要求手写代码,你与顶级程序员的差别在哪?
查看>>
JavaScript是如何工作的: CSS 和 JS 动画底层原理及如何优化它们的性能
查看>>
Async/Await替代Promise的6个理由
查看>>
谁用光了磁盘?Docker System命令详解
查看>>
Android App性能优化[译]
查看>>
自然语言处理的语义建模介绍
查看>>
菜鸟学数据库——WAL模式及其原理
查看>>
微信小程序有旋转动画效果的音乐组件
查看>>
更大的块和更智能的合同:比特币现金的下一个叉子是什么?
查看>>
NODE Stream流总结(2)
查看>>
2018深圳云栖拉开帷幕,飞天技术汇五大专场邀你参加~
查看>>
聊聊sentinel的DataSource
查看>>
Maven的聚合模块和继承
查看>>
ELK的心脏,ElasticSearch学习方法论
查看>>
认识微服务
查看>>
Python3入门与实践(四): 面向对象
查看>>
OpenCV 入门
查看>>
Node中异步和同步的实现
查看>>
理解Underscore中的flatten函数
查看>>