spring Mvc配置xml使ResponseBody返回Json的方法示例
前言
學習了spring mvc后,發(fā)現(xiàn)spring mvc返回json數(shù)據(jù)比struts2要方便,使用@ResponseBody就可以了
@ResponseBody
在返回的數(shù)據(jù)不是html標簽的頁面,而是其他某種格式的數(shù)據(jù)時(如json、xml等)使用;
不在springMvc中配置json的處理的話,我們通常會在Controller層中獲取到數(shù)據(jù)之后進行類型轉化,將數(shù)據(jù)轉成json字符串,比如調用fastjson進行轉化,如下
@RequestMapping("/getCategoryTree")
@ResponseBody
public String getmCategoryTree() {
String data = JSON.toJSONString(categoryService.getCategoryList());
return data;
}
這樣的話,當我們有很多需要返回json數(shù)據(jù)的時候,就在每個方法中都要寫一次轉化然后再返回,下面通過在springmvc的xml配置文件中進行配置,可以省去以后代碼中的轉化操作
配置如下
<bean id="jsonConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter"></bean> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <property name="messageConverters"> <list> <ref bean="jsonConverter" /> </list> </property> </bean>
注意:此配置還需要在pom.xml文件中導入
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.5.4</version> </dependency>
此時再看看Controller層中的代碼
@RequestMapping("/getCategoryTree")
@ResponseBody
public List<Category> getCategoryTree() {
return categoryService.getCategoryList();
}
此時就沒有了json轉化的那步操作了,但是注意此時的返回結果不再是String類型,而是要保持與service層中的返回類型一致。
總結
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
- spring通過filter,Interceptor統(tǒng)一處理ResponseBody的返回值操作
- spring boot @ResponseBody轉換JSON 時 Date 類型處理方法【兩種方法】
- Springmvc 4.x利用@ResponseBody返回Json數(shù)據(jù)的方法
- spring+mybatis 通過@ResponseBody返回結果中文亂碼的解決方法
- springMvc注解之@ResponseBody和@RequestBody詳解
- SpringMVC中解決@ResponseBody注解返回中文亂碼問題
- springmvc實現(xiàn)json交互-requestBody和responseBody
- Springmvc ResponseBody響應json數(shù)據(jù)實現(xiàn)過程
相關文章
Mapper批量插入Oracle數(shù)據(jù)@InsertProvider注解
今天小編就為大家分享一篇關于Mapper批量插入Oracle數(shù)據(jù)@InsertProvider注解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-03-03
springboot-mybatis/JPA流式查詢的多種實現(xiàn)方式
這篇文章主要介紹了springboot-mybatis/JPA流式查詢,本文給大家分享三種方式,每種方式結合示例代碼給大家講解的非常詳細,需要的朋友可以參考下2022-12-12

