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實現(xiàn)json交互-requestBody和responseBody
- Springmvc ResponseBody響應(yīng)json數(shù)據(jù)實現(xiàn)過程
相關(guān)文章
使用ElasticSearch6.0快速實現(xiàn)全文搜索功能的示例代碼
本篇文章主要介紹了使用ElasticSearch6.0快速實現(xiàn)全文搜索功能,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-02-02解決工具接口調(diào)用報錯:error:Unsupported Media Type問題
當(dāng)遇到"UnsupportedMediaType"錯誤時,意味著HTTP請求的Content-Type與服務(wù)器期望的不匹配,比如服務(wù)器期待接收J(rèn)SON格式數(shù)據(jù),而發(fā)送了純文本格式,常見的Content-Type類型包括text/html、application/json、multipart/form-data等2024-10-10SpringBoot?實現(xiàn)自定義的?@ConditionalOnXXX?注解示例詳解
這篇文章主要介紹了SpringBoot?實現(xiàn)自定義的?@ConditionalOnXXX?注解,通過示例代碼介紹了實現(xiàn)一個自定義的?@Conditional?派生注解,Conditional?派生注解的類如何注入到?spring?容器,需要的朋友可以參考下2022-08-08Java中如何編寫一個數(shù)的n次方(冪運(yùn)算)?
本文介紹了使用pow函數(shù)和自定義for循環(huán)計算冪的O(n)時間復(fù)雜度方法,然后重點講解了快速冪算法的分治思想,以及從二進(jìn)制角度的解釋,包括如何通過位運(yùn)算和循環(huán)迭代實現(xiàn)高效計算,給出了Java代碼實現(xiàn)2024-07-07