微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

SpringMVC有的参数接收不到解决方法

问题现象

前端明明传了字段, 但后端就是接收不到!!!

但是同对象的其他字段都能接收到

我接收不到数据的字段是vA vC  vE

经过一番查阅后, 得知!

JavaBean有个规范说明如何从set get方法推导出字段名的

举个例子

普通的字段比如是 name, 那他的set get就是 setName, getName : 首字母大写

第二个举例字段 vA : 当第一个字母小写, 第二个字母大写时, set get 就是 setvA  getvA

这时首字母不再大写了 ! 对于字段名不做处理 直接在前面加set get

字段值接收不到的原因

项目中使用的是lombok, lombok生成setget的方法没有按照规范, 对于vA 生成了setVA(进行了首字母大写操作),  lombok中也有针对此问题的issues

 

而SpringMVC解析参数时是按照规范的 即 setvA

现在两个set方法对应不上了, 而SpringMVC没有找到 需要的方法, 就无法完成赋值了

所以字段就没有值了!!!

解决方法

手动重写set get方法 使用满足规范即可

idea的set get 生成的是满足规范的, 可以针对这些字段 使用idea自动生成

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐