问题描述
求助各位大神,Spring添加了@RequestBody参数后,无法跳转控制器,去掉参数可以正常跳转,这是为什么呢前台ajax跳转如下:$.ajax({url:"test/testTemp2.do",type:'POST',dataType:"json",processData:false,contentType:"application/json",data:data,success:function(data){$("#p1").text(data.data.name);}});后台代码如下:@RequestMapping(value="/testTemp2",method=RequestMethod.POST)publicActionResulttestTemp(@RequestBodyListperson){
解决方案
解决方案二:
(@RequestBodyListperson)加上requestbody是告诉这个方法把请求发来的参数data转为List存储的对象,不知道你list存储的是什么。list里的对象所有的属性要和你data对应。
解决方案三:
引用1楼fangmingshijie的回复:
(@RequestBodyListperson)加上requestbody是告诉这个方法把请求发来的参数data转为List存储的对象,不知道你list存储的是什么。list里的对象所有的属性要和你data对应。
你好大神,刚才修改了下,两边存储的变量是一一对应的@RequestBodyList<TempModel>usersTempModel:privateStringuserName;privateStringaddress;前台data是varsaveDataAry=[];vardata1={"userName":"test","address":"gz"};vardata2={"userName":"ququ","address":"gr"};saveDataAry.push(data1);saveDataAry.push(data2);JSON.stringify(saveDataAry)但是浏览器报错http://localhost:8082/template/test/testTemp2.do415(UnsupportedMediaType)
解决方案四:
引用1楼fangmingshijie的回复:
(@RequestBodyListperson)加上requestbody是告诉这个方法把请求发来的参数data转为List存储的对象,不知道你list存储的是什么。list里的对象所有的属性要和你data对应。
后台也已经配置MappingJacksonHttpMessageConverter了<beanid="mappingJacksonHttpMessageConverter"class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"><propertyname="supportedMediaTypes"><list><value>text/html;charset=UTF-8</value></list></property></bean><beanid="stringHttpMessageConverter"class="org.springframework.http.converter.StringHttpMessageConverter"/><beanclass="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"><propertyname="messageConverters"><list><refbean="mappingJacksonHttpMessageConverter"/><!--json转换器--><refbean="stringHttpMessageConverter"/><!--转换器--></list></property></bean>
解决方案五:
解决方案六:
本帖最后由 fangmingshijie 于 2014-08-01 12:08:08 编辑