这是前辈们对于SpringMVC接收表单数据记录下来的总结经验:
SpringMVC接收页面表单参数
springmvc请求参数获取的几种方法
下面是我自己在使用时发现的,前辈们没有记录的细节和注意点:
使用bean来接收form表单提交的参数时,pojo中必须含有默认的(即空的)构造函数,同时,需要设置到bean中的变量必须有setter方法。
注:以下代码均为示例代码,非本人实际运行代码,请自行补充。
例如:我有一个bean类是User,具有变量username和password。同时,表单提交的内容为:
1
2
3
4
5
|
< form action = "save-user-info" method = "post" > < span >帐号:</ span >< input type = "text" name = "username" >< br > < span >密码:</ span >< input type = "text" name = "password" >< br > < input type = "submit" value = "保存" > </ form > |
那么,在User.java文件中必须具有
1
2
3
4
5
6
7
8
9
|
public User() {} public void setUsername(String username) { this .username = username; } public void setPassword(String password) { this .password = password; } |
此时,我在Controller中才能成功接收到参数并生成对应的bean对象
1
2
3
4
5
|
@RequestMapping (value= "/save-user-info" ) public String saveUser(SsbiUser user) { System.out.println(user.toString()); return "user-info" ; } |
通过一些测试,我把这个过程理解为,前台提交了一个包含User数据的form表单后,后台接受到参数后,首先会生成一个不包含任何参数的User对象,然后通过setter方法往这个空的对象这设置对应的值,最终得到我们需要的User对象。
而不是我一开始以为的,后台接受到参数以及直接调用对应的User(username, password)构造方法生成需要的对象。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持服务器之家!
原文链接:http://www.cnblogs.com/dmh-blog/p/6796386.html