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}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM