Spring MVC返回json数据的方式有以下几种:
(1)直接 PrintWriter 输出
(2)使用 JSP 视图
(3)使用Spring内置的支持。
直接 PrintWriter 输出
@RequestMapping(value = "/getPojoJson.do", method = RequestMethod.GET)
public void test(HttpServletResponse res) throws IOException {
res.setContentType("text/html;charset=utf-8");
PrintWriter writer = res.getWriter();
Gson gson = new Gson();
Teacher teacher = new Teacher();
teacher.setId(1);
teacher.setName("苍老师");
teacher.setAge(32);
String json = gson.toJson(teacher);
writer.print(json);
writer.close();
}
2.略
3.Spring的@RequestBody注解(分默认和自定义)
/** 默认的方法 */
@RequestMapping(value = "/getPojoJson.do", method = RequestMethod.GET)
public @ResponseBody Teacher test() throws IOException {
Teacher teacher = new Teacher();
teacher.setId(1);
teacher.setName("苍老师");
teacher.setAge(32);
return teacher;
}
自定义需要修改 HandlerMapping和HandlerAdapter 的HttpMessageConverter
见:http://blog.youkuaiyun.com/wangxy799/article/details/50952969