在Spring MVC 3.2中实现JSONP


问题内容

我知道自定义过滤器可以在Spring
MVC的早期版本中使用以实现JSONP。另外,此示例描述了一种通过扩展MappingJacksonHttpMessageConverter类并修改域对象在Spring MVC
3.1中实现JSONP的方法。

除了使用上述方法之外,在Spring MVC 3.2中是否有更简单(或常规)的方法来处理JSONP?在Spring 3.2文档中,我完全看不到JSONP。


问题答案:

这样简单的方法

@RequestMapping(value = "/jsonp", method = RequestMethod.GET)
@ResponseBody
public String jsonp(@RequestParam("c")String callBack) throws Exception{
    ObjectMapper objectMapper = new ObjectMapper();
    Map<String, Object> map = new HashMap<String, Object>();
    map.put("data", "<p>jsonp data<p>");
    return objectMapper.writeValueAsString(new JSONPObject(callBack,map));
}