sprinh mvc 返回json格式数据

今天做练习需要异步交互通过springmvc向前台返回json格式数据通过js接受数据,但前台js接受数据时总是报错。

根据以前看别人的博客上只说配置@responseBody注解就可以了,但是这一次怎么都不行,我就想是不是环境没有配置,之后一搜果然这样,现在我就把我查看的博客分享一下:

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

// Spring MVC 配置

    <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">  
     <property name="messageConverters">  
      <list>  
       <bean  
        class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter" />  
      </list>  
     </property>  
    </bean>  
// WEB-INF/lib 中添加
jackson-mapper-asl-1.6.4.jar
jackson-core-asl-1.6.4.jar
// Controller 中 使用:@ResponseBody 标注方法,该方法返回 Java对象(支持复杂对象),MappingJacksonHttpMessageConverter 会将对象转换为 JSON 输出


4. 自定义
// 以下是实现方法,仅仅是个演示
// 配置 BeanNameViewResolver

    <bean class="org.springframework.web.servlet.view.BeanNameViewResolver">  
     <property name="order" value="1" />  
    </bean>  
    <bean id="jsonView" class="test.TestJsonView" />  

// 实现 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" class="test.TestJsonView" />  

// Controller 中可以这样写:
    ModelAndView mav = new ModelAndView("jsonView");  
    // mav.addObject ...  
    return mav;  

5. 使用 spring-json.jar


// 就是第4种方法,但是强大的多。。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值