• SpringMVC中使用@ResponseBody注解将任意POJO对象返回值转换成json进行返回


    @ResponseBody

    作用: 

          该注解用于将Controller的方法返回的对象,通过适当的HttpMessageConverter转换为指定格式后,写入到Response对象的body数据区。

    使用时机:

          返回的数据不是html标签的页面,而是其他某种格式的数据时(如json、xml等)使用;

    导包:

    除了一些spring的包之外,还需要jackson-annotations.jar , jackson-core.jar , jackson-databind.jar 这三个包

    开启@ResponseBody注解---在MVC中配置转换器:

    1 <bean  
    2        class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter">  
    3        <property name="messageConverters">  
    4            <list>  
    5             <bean class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"></bean>  
    6               <!--   <ref bean="mappingJacksonHttpMessageConverter" />-->  
    7            </list>  
    8        </property>  
    9    </bean>  

    配置完就可以直接使用了:

     1     @RequestMapping(value="/getStudentMistakesList", method = RequestMethod.GET)
     2     @ResponseBody
     3     public EduReturnJson getStudentMistakesList(HttpServletRequest request, HttpServletResponse response) throws Exception {
     4         Map<String,String> map = getParamMap(request);
     5         List<Map<String, String>> mistakesList = eduStudentMistakesService.getStudentMistakesList(map);
     6         if(mistakesList != null){
     7             eduReturnJson = new EduReturnJson(1, "", mistakesList);
     8             return eduReturnJson;
     9         }else{
    10             return new EduReturnJson(0, "", mistakesList);
    11         }
    12     }

    这时返回数据已经转换为json格式:

    1 {"ret":1,"msg":"","data":[{"num":"34","courseid":"12","coursename":"语文"},{"num":"0","courseid":"13","coursename":"数学"},{"num":"0","courseid":"14","coursename":"英语"}],"count":0}
  • 相关阅读:
    MySQL 中视图和表的区别以及联系是什么?
    MAC将根目录文件夹的权限赋给用户
    PHP 基础篇 PHP 中 DES 加解密详解
    软件构架师必修科(转)
    遍历指定文件夹下所有的xml文件并动态生成HTML页面!
    使用XML创建Excel文档
    XmlTextWriter创建XML文件
    什么是耦合?
    JavaScript经典效果集锦(一)
    软件最大的追求是什么?
  • 原文地址:https://www.cnblogs.com/haw2106/p/9133420.html
Copyright © 2020-2023  润新知