1 @RequestBody
作用:
@RequestBody注解用于讀取http請求的內容(字符串),通過springmvc提供的HttpMessageConverter接口將讀到的內容轉換為json、xml等格式的數據并綁定到controller方法的參數上。
List.action?id=1&name=zhangsan&age=12
本例子應用:
@RequestBody注解實現接收http請求的json數據,將json數據轉換為java對象
2 @ResponseBody
作用:
該注解用于將Controller的方法返回的對象,通過HttpMessageConverter接口轉換為指定格式的數據如:json,xml等,通過Response響應給客戶端
本例子應用:
@ResponseBody注解實現將controller方法返回對象轉換為json響應給客戶端
3 環境配置
3.1 jar包準備
Springmvc默認用MappingJacksonHttpMessageConverter對json數據進行轉換,需要加入jackson的包,如下:
3.2 springmvc.xml文件中的配置
1) 如果配置文件中配置過注解驅動(<mvc:annotation-driven/>), 則無需多余配置
2) 如果沒有配置注解驅動, 則需如下配置(不推薦使用這種方式)
1
2
3
4
5
6
7
8
|
<!--注解適配器 --> < bean class = "org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter" > < property name = "messageConverters" > < list > < bean class = "org.springframework.http.converter.json.MappingJacksonHttpMessageConverter" ></ bean > </ list > </ property > </ bean > |
4. Controller的編寫
1
2
3
4
5
|
@ResponseBody public Items testJson ( @RequestBody Items items) { return items; } |
對應jsp頁面中js的編寫
1
2
3
4
5
6
7
8
9
10
11
|
function jsonTest () { $.ajax({ type: "post" , url: "${pageContext.request.contextPath}/item/testJson.action" , contentType: "application/json;charset=utf-8" , data: '{"name":"測試商品","price":99.9}' , success:function (data) { alert(data.name); } }); } |
以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持服務器之家!
原文鏈接:http://www.cnblogs.com/rodge-run/p/6545630.html