【发布时间】:2012-10-16 17:39:05
【问题描述】:
我的spring3.1 mvc服务器可以通过添加@ResponseBody来响应正确的json结果,在spring设置文件上应该没有问题。包含的servlet.xml
<mvc:annotation-driven/>
我把杰克逊罐子放在类路径中。
而且我的 html 文件还在 .ajaxSetup() 方法中将 contentType 设置为“application/json”。我可以看到帖子标题在 Firebug 中是正确的。
我也试过 include json2.js 来调用 JSON.stringify 方法。
json格式示例:
{"link":"http:xxxxx","ticker":"xxxxx"}
responseBody 类是 Document:
public class Document implements Serializable{
public String getLink(){...}
public String setLink(String link){...}
public String getTicker(){...}
public String setTicker(String ticker){...}
}
控制器代码:
public class LoadFile {
@RequestMapping(value="/loadFile",method=RequestMethod.POST)
public @ResponseBody Document loadFile(@RequestBody Document document){
...
}
}
html代码:
$(function() {
$.ajaxSetup({
contentType:"application/json;charset=utf-8"
});
$.post( url, { link: link, ticker:ticker },
function( data ) {
....
},"json"
);
}
Document类添加@ResponseBody时可以返回json对象,但是添加@RequestBody时,服务器返回400错误。不知道会发生什么。
【问题讨论】:
-
能否提供更多代码、javascript和控制器代码?
-
fixed by reference [link]stackoverflow.com/questions/5908466/…我猜gae jackson lib和spring有冲突,所以必须明确转换器包名。但仍然使用 RequestBody,而不是 ModelAttribute
标签: jquery json spring-mvc