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

问题现象

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

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

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

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

经过一番查阅后, 得知!

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自动生成下

上一篇:基于IDEA、SpringMVC的JSON交互处理


下一篇:Eclipse开发Java的简单配置