首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > JavaScript >

spring MVC 3.1 注脚:@ResponseBody 返回json数据

2012-12-31 
spring MVC 3.1 注解:@ResponseBody 返回json数据之前在网上搜索很多关于spring mvc如何返回json 数据的,

spring MVC 3.1 注解:@ResponseBody 返回json数据

之前在网上搜索很多关于spring mvc如何返回json 数据的,大概有如下几种:

?

Spring MVC 3.0 返回JSON数据的方法
1. 直接 PrintWriter 输出
2. 使用 JSP 视图
3. 使用Spring内置的支持

<bean />
??</list>
?</property>
</bean>
// WEB-INF/lib 中添加
jackson-mapper-asl-1.6.4.jar
jackson-core-asl-1.6.4.jar
// Controller 中 使用:@ResponseBody 标注方法,该方法返回 Java对象(支持复杂对象),

如:public?@ResponseBody???User(){

return new User();

}

MappingJacksonHttpMessageConverter 会将对象转换为 JSON 输出

?

注意:当springMVC-servlet.xml中使用<mvc:annotation-driven />时已经默认注入AnnotationMethodHandlerAdapter,只需加上上面提及的jar包即可!

?

4. 自定义

?

// 配置 BeanNameViewResolver
<bean value="1" />
</bean>
<bean id="jsonView" />
// 实现 TestJsonView
public class TestJsonView extends AbstractView {
?@Override
?protected void renderMergedOutputModel(Map<String, Object> model, HttpServletRequest request,
???????? HttpServletResponse response) throws Exception {
??JsonBuilder jb = new JsonBuilder();
??PrintWriter out = response.getWriter();
??out.print(jb.encode(model));
?}
}
// 配置 View
<bean id="jsonView" />
// Controller 中可以这样写:
ModelAndView mav = new ModelAndView("jsonView");
// mav.addObject ...
return mav;

热点排行