SpringMVC返回json資料的配置
1、第一種方式是spring2時代的產物,也就是每個json檢視controller配置一個Jsoniew。
如:
<bean id="defaultJsonView" class="org.springframework.web.servlet.view.json.MappingJacksonJsonView"/>
或者
<bean id="defaultJsonView" class="org.springframework.web.servlet.view.json.MappingJackson2JsonView"/>
同樣要用jackson的jar包。
jackson-core-*.jar
jackson-databind-*.jar
2、第二種使用JSON工具將物件序列化成json,常用工具Jackson,fastjson,gson。
利用HttpServletResponse,然後獲取response.getOutputStream()或response.getWriter()直接輸出。
SpringMVC 中使用如下:
ResponseUtils.java
import java.io.IOException;
import javax.servlet.http.HttpServletResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
* HttpServletResponse幫助類
*
* @author luanzelin
*
*/
public class ResponseUtils {
private static final Logger log = LoggerFactory.getLogger(ResponseUtils.class);
/**
* 傳送json。使用UTF-8編碼。
*
* @param response
* HttpServletResponse
* @param text
* 傳送的字串
*/
public static void renderJson(HttpServletResponse response, String text) {
render(response, "application/json;charset=UTF-8", text);
}
/**
* 傳送內容。使用UTF-8編碼。
*
* @param response
* @param contentType
* @param text
*/
public static void render(HttpServletResponse response, String contentType, String text) {
response.setContentType(contentType);
response.setHeader("Pragma", "No-cache");
response.setHeader("Cache-Control", "no-cache");
response.setDateHeader("Expires", 0);
try {
response.getWriter().write(text);
} catch (IOException e) {
log.error(e.getMessage(), e);
}
}
}
controller:
@RequestMapping("/getDatabaseTable.do")
public void getDatabaseTable(HttpServletResponse response) {
List<String> tableName = new ArrayList<String>();
JSONObject json = new JSONObject();
json.put("tableName", tableName);
ResponseUtils.renderJson(response, json.toString());
}
3、第三種利用spring mvc3的註解@ResponseBody
例如:
@ResponseBody
@RequestMapping("/list")
public List<String> list(ModelMap modelMap) {
String hql = "select c from Clothing c ";
Page<Clothing> page = new Page<Clothing>();
page.setPageSize(6);
page = clothingServiceImpl.queryForPageByHql(page, hql);
return page.getResult();
}
然後使用spring mvc的預設配置就可以返回json了,不過需要jackson的jar包哦。
注意:當springMVC-servlet.xml中使用時,如果是3.1之前已經預設注入AnnotationMethodHandlerAdapter,3.1之後預設注入RequestMappingHandlerAdapter只需加上上面提及的jar包即可!
如果是手動注入RequestMappingHandlerAdapter 可以這樣設定
配置如下:
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter"
p:ignoreDefaultModelOnRedirect="true" >
<property name="messageConverters">
<list>
<bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"/>
</list>
</property>
</bean>
新增包
jackson-mapper-asl-*.jar
jackson-core-asl-*.jar
相關推薦
SpringMVC返回json資料的配置
1、第一種方式是spring2時代的產物,也就是每個json檢視controller配置一個Jsoniew。 如: <bean id="defaultJsonView" class="org.springframework.web.servlet.
SpringMVC返回json資料的配置方式
spring mvc 返回json格式資料的方式主要有三種: 1、使用JSON工具將物件序列化成json,常用工具Jackson,fastjson,gson。 利用HttpServletResponse,然後獲取response.getOutputStream()或response.getWrite
Springmvc返回json資料
SpringMvc返回json型別資料有以下幾種方式(個人都使用過): 1、在方法上使用@ResponseBody註解 需要引入jackson依賴包。 <dependency> <groupId>com.fasterx
SpringMVC返回json資料的三種方式
1、第一種方式是spring2時代的產物,也就是每個json檢視controller配置一個Jsoniew。 如:<bean id="defaultJsonView" class="org.springframework.web.servlet.view.json
【Spring】SpringMVC返回json資料的三種方式
歡迎關注公眾號: ----------------------------------------------正文---------------------------------------------------- 方式一:使用JSON工具將物件序列化成j
springMVC返回json資料時date型別資料被轉成long型別
在專案的過程中肯定會遇到ajax請求,但是再用的過程中會發現,在資料庫中好好的時間型別資料:2017-05-04 17:52:24 在轉json的時候,得到的就不是時間格式了 而是145245121這
用Springmvc 返回json資料,填充html 或 jsp頁面。
maven pom.xml: <!-- net json --> <dependency> <groupId>net.sf.json-lib</groupId> <artifactId&g
SpringMVC返回JSON資料date日期格式化,解決返回為TIMESTAMP時間戳格式
資料庫中使用的是timestamp型別,在po類裡面屬性的格式為Date型別,但是在返回json字串的時候,卻是返回的是long型別的資料,這個不是我們需要的資料型別,之前一直想著前端使用js直接格式化一下就好了,但是前端說只做資料的展示,不做資料的處理,好吧,
SpringMVC返回json資料格式(返回值作為響應體)
本文探討了基於註解方式的SpringMVC(3.1版本以上)返回值(響應體)的型別的探討,由於xml格式解析的複雜化和js平臺支援狀況,下面主要探討了基於返回json格式資料的返回值型別的問題,可以返回三種類型的資料會被轉換為json格式,第一種:Map型別;
解決SpringMVC返回Json資料格式不嚴謹報異常的問題(草稿未完成)
週末除錯程式的時候發現的該問題,表現如下: 當springmvc配合jackson返回json資料不是嚴格按照json格式返回時,如服務端返回:{“age":20} 同域請求不報錯,瀏覽器直接請求也不報錯可以正常返回,但跨域用jquery請求時會報一個unexpected end of
SpringMVC返回json資料的日期格式統一轉換
有時候我們做介面時候,返回json的資料,controller層的方法用@ResponseBody註解,方法返回的是一個bean,bean裡面可能有個從資料庫獲取的資料map,如果有日期格式的欄位,可能返回的是時間戳的日期。 解決方法有兩種 1.增加map xml的資料
springmvc返回json資料去除null值
package com.xilehang.kaola.po.orderConfirm; import com.fasterxml.jackson.databind.annotation.JsonSerialize; //轉json是排除null @SuppressWar
SpringMVC 返回json資料的三種方式
1、第一種方式是spring2時代的產物,也就是每個json檢視controller配置一個Jsoniew。 如:<bean id="defaultJsonView" class="org.springframework.web.servlet.view.json
SpringMVC返回JSON資料的坑
測試一: @RequestMapping(value = "/test1", method = RequestMethod.POST) @ResponseBody public P
關於springmvc 返回json資料null欄位的顯示問題
最近做專案(ssm框架)的時候,發現從後臺返回的json(fastjson)資料對應不上實體類,從資料庫查詢的資料,如果對應的實體類的欄位沒有資訊的話,json資料裡面就不顯示,這不是我想要的結果,準確說是前端頭疼的事情,然後我看了一下fastjson的配置,最後解決了現
配置ajax請求springmvc返回json格式資料
首先在controller的方法返回值(返回值型別為實體類)上增加@ResponseBody註解 然後兩種配置方式如下: 方式一:spring4.0以及之後版本推薦 pom.xml增加如下依賴包 &l
springMVC利用FastJson介面返回json資料相關配置
一直使用的是FastJson,感覺還不錯,很方便。看了一段別人的分析,覺得很有道理。 [為什麼要使用Fastjson,其實原因不需要太多,喜歡就行。 我之所以要替換掉Jackson最主要的原因是Jackson在處理物件之前的迴圈巢狀關係時不便。
SpringMVC返回Json失敗,請檢查是否配置了Jackson
springmvc jackson json 配置文件背景需要一套幹凈的Spring+Spring MVC+Mybatis框架,框架寫到返回Json的環節報錯了。問題無法Json,報406解決需要配置Json工具包,這裏用JacksonMaven Jackson <!-- https://
SpringMVC 使用ResponseBody 返回json資料
1.Ctroller 添加註解@ResponseBody 2.pom.xml檔案新增兩個引入包 <!-- Jsckson --> <dependency> &n
SpringMVC在返回JSON資料時出現406錯誤解決方案
在SpringMVC框架的使用中常常會使用@ResponseBody註解,修飾“處理器”(Controller的方法),這樣在處理器在返回完畢後,就不走邏輯檢視,而是將返回的物件轉成JSON字串響應給客戶端,但這種操作有時會出現406錯誤。