SpringMVC中使用bean来接收form表单提交的参数时的注意点
2017-05-05 13:37
603 查看
科技优家 2017-05-02 15:58
这是前辈们对于SpringMVC接收表单数据记录下来的总结经验:
下面是我自己在使用时发现的,前辈们没有记录的细节和注意点:
使用bean来接收form表单提交的参数时,pojo中必须含有默认的(即空的)构造函数,同时,需要设置到bean中的变量必须有setter方法。
注:以下代码均为示例代码,非本人实际运行代码,请自行补充。
例如:我有一个bean类是User,具有变量username和password。同时,表单提交的内容为:
那么,在User.java文件中必须具有
此时,我在Controller中才能成功接收到参数并生成对应的bean对象
通过一些测试,我把这个过程理解为,前台提交了一个包含User数据的form表单后,后台接受到参数后,首先会生成一个不包含任何参数的User对象,然后通过setter方法往这个空的对象这设置对应的值,最终得到我们需要的User对象。
而不是我一开始以为的,后台接受到参数以及直接调用对应的User(username, password)构造方法生成需要的对象。
这是前辈们对于SpringMVC接收表单数据记录下来的总结经验:
下面是我自己在使用时发现的,前辈们没有记录的细节和注意点:
使用bean来接收form表单提交的参数时,pojo中必须含有默认的(即空的)构造函数,同时,需要设置到bean中的变量必须有setter方法。
注:以下代码均为示例代码,非本人实际运行代码,请自行补充。
例如:我有一个bean类是User,具有变量username和password。同时,表单提交的内容为:
<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文件中必须具有
public User {} public void setUsername(String username) { this.username = username; } public void setPassword(String password) { this.password = password; }
此时,我在Controller中才能成功接收到参数并生成对应的bean对象
@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)构造方法生成需要的对象。
相关文章推荐
- SpringMVC中使用bean来接收form表单提交的参数时的注意点
- Spring--SpringMVC中使用bean来接收form表单提交的参数时的注意点
- springmvc使用map接收form表单的参数
- jQuery实现ajax提交form表单(可以是提交json),用springmvc接收。图文详解
- jquery多选择动态参数的使用以及ajax异步请求中提交整个form表单中serializeArray()的使用以及后台值得获取方式
- 突然,form表单参数提交,但是java接收不到
- 使用jquery-form.js,直接提交表单至后台(springmvc)
- 利用formData,在使用form表单提交参数(或者文件)时,处理回调函数
- 在 SpringMVC 中对表单提交参数进行验证(使用 Bean Validator)
- struts2中form表单使用post方式提交参数(键值对)超过10000的限制
- form表单采用post提交方式提交,在url后面加问号再传递一个参数,提交后是否能接收到?
- Form 表单中的method 若使用get提交方式 则action地址上带的参数将被省略 4000
- springmvc使用实体类接收表单提交数据中含有String类型对应Date类型的不匹配报错400时如何处理
- springMVC使用JQUERY提交数组接收时候报错,接收参数对象的属性为数组
- SpringMVC架构下form表单无法从JS里提交参数到后台,且后台无反应
- 如何利用form表单提交文件,和SSM如何接收文件参数,并写入到指定路径下的文件中
- JSP动态action参数提交form表单到springMVC的示例
- 使用ajax 提交多个form表单以及其他参数
- JQuery中Ajax的Post提交中文乱码、windows.location.href 中文汉字乱码和springmvc使用原生态HttpServletRequest接收参数中文乱码解决办法
- springMvc通过Map形式接收多个参数form表单数据