spring Mvc配置xml使ResponseBody返回Json的方法示例
前言
學(xué)習(xí)了spring mvc后,發(fā)現(xiàn)spring mvc返回json數(shù)據(jù)比struts2要方便,使用@ResponseBody就可以了
@ResponseBody
在返回的數(shù)據(jù)不是html標(biāo)簽的頁面,而是其他某種格式的數(shù)據(jù)時(如json、xml等)使用;
不在springMvc中配置json的處理的話,我們通常會在Controller層中獲取到數(shù)據(jù)之后進(jìn)行類型轉(zhuǎn)化,將數(shù)據(jù)轉(zhuǎn)成json字符串,比如調(diào)用fastjson進(jìn)行轉(zhuǎn)化,如下
@RequestMapping("/getCategoryTree")
@ResponseBody
public String getmCategoryTree() {
String data = JSON.toJSONString(categoryService.getCategoryList());
return data;
}
這樣的話,當(dāng)我們有很多需要返回json數(shù)據(jù)的時候,就在每個方法中都要寫一次轉(zhuǎn)化然后再返回,下面通過在springmvc的xml配置文件中進(jìn)行配置,可以省去以后代碼中的轉(zhuǎn)化操作
配置如下
<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文件中導(dǎo)入
<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轉(zhuǎn)化的那步操作了,但是注意此時的返回結(jié)果不再是String類型,而是要保持與service層中的返回類型一致。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
- spring通過filter,Interceptor統(tǒng)一處理ResponseBody的返回值操作
- spring boot @ResponseBody轉(zhuǎn)換JSON 時 Date 類型處理方法【兩種方法】
- Springmvc 4.x利用@ResponseBody返回Json數(shù)據(jù)的方法
- spring+mybatis 通過@ResponseBody返回結(jié)果中文亂碼的解決方法
- springMvc注解之@ResponseBody和@RequestBody詳解
- SpringMVC中解決@ResponseBody注解返回中文亂碼問題
- springmvc實(shí)現(xiàn)json交互-requestBody和responseBody
- Springmvc ResponseBody響應(yīng)json數(shù)據(jù)實(shí)現(xiàn)過程
相關(guān)文章
Java合并兩個List后并去掉重復(fù)項(xiàng)的兩種做法
工作中很多時候需要用到合并兩個List并去除其中的重復(fù)內(nèi)容,這是一個很簡單的操作,實(shí)現(xiàn)的方法也多種多樣,這篇文章主要給大家介紹了關(guān)于Java合并兩個List后并去掉重復(fù)項(xiàng)的兩種做法,需要的朋友可以參考下2023-10-10
Dubbo+zookeeper搭配分布式服務(wù)的過程詳解
Dubbo作為分布式架構(gòu)比較后的框架,同時也是比較容易入手的框架,適合作為分布式的入手框架,下面是簡單的搭建過程,對Dubbo+zookeeper分布式服務(wù)搭建過程感興趣的朋友一起看看吧2022-04-04
Springboot錯誤處理機(jī)制實(shí)現(xiàn)原理解析
這篇文章主要介紹了springboot錯誤處理機(jī)制實(shí)現(xiàn)原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-04-04
Mapper批量插入Oracle數(shù)據(jù)@InsertProvider注解
今天小編就為大家分享一篇關(guān)于Mapper批量插入Oracle數(shù)據(jù)@InsertProvider注解,小編覺得內(nèi)容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧2019-03-03
springboot-mybatis/JPA流式查詢的多種實(shí)現(xiàn)方式
這篇文章主要介紹了springboot-mybatis/JPA流式查詢,本文給大家分享三種方式,每種方式結(jié)合示例代碼給大家講解的非常詳細(xì),需要的朋友可以參考下2022-12-12

