就是像上面这样的写法。
试过配置MappingJackson2HttpMessageConverter类
但是只有get方法能获得参数,post方法对象不为空变量为空
你的意思是:不需要定义全局变量并注入的情况下。在controller层的方法中使用对象或者变量吧!
这是跟页面传递的参数有关的,如果你页面给服务器传输的数据是User对象,那么可以在方法中使用User对象。
页面上定义后台的user对象中有name属性就可以的啊
好像是只要前台传的参数与对象里的属性名字相同spring就会自动包装,比如前台传的参数名字是name,二uesr对象里的属性名字也是name就会自动包装
楼上诸位说的是对的,对象被框架封装了,没接收到对象内的属性是因为前段ajax的contentType属性设置成了application/json。使用默认就可以了
但是还有其他的问题
contentType为application/x-www-form-urlencoded时(默认)
如果data为json对象,报文是 key1=val1&key2=val2...这样的,应该是jquery进行了解析。可是对数组的解析貌似出问题了 方括号中序号没有了,后台会报错
如果data为字符串(例如name=1&age=2&folkList[0]=1)就会一切正常
还有就是contentType为application/json时的问题
如果data为json对象,jquery还是按照上面的方式进行解析,还是报错
如果使用JSON.stringify(josnObj)或是手打的json字符串,后台还是接收不到参数
配置的MappingJackson2HttpMessageConverter貌似也没有用
debug里看,他的父类AbstractJackson2HttpMessageConverter的canRead方法貌似没有被调用过,这是判断是否能解析用的方法吧?
canWrite到是使用过了判断能不能解析输出