这个错误还真难搞,头一次遇见还真没有什么好办法解决,上网找了很多资料,一一试过也不能很好的解决,最后经过朋友,同事一起努力,终于征服了.留下笔记,供大家参考:
1.我后台测试代码如下:
@RequestMapping("/json")
public @ResponseBody
String json() {
return "this is json";
}
@RequestMapping("/json2")
public @ResponseBody
List json2() {
List users = new ArrayList();
User u = new User();
u.setAccount("aa");
users.add(u);
return users;
}
在浏览器访问这两个方法时,只有json正确,而json2就报406,说明spring没有处理好对象序列化成json的问题,最后我通过log4j打印的日志,也清晰的看到他返回的格式并非json格式.既然格式错误了,浏览器当然接受不了数据,原因就在此了。
2.知道了原因,于是就上网搜了.网上有人说mvc的xml没有加这个配置
但是我项目早就有了,固然不是问题答案
另外一种是说要配置json模板,觉得这个靠谱,于是乎就学着配置.....终于找到问题了。
class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter">
text/html;charset=UTF-8
class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">