1 @RequestBody
作用:
@RequestBody注解用于讀取http請求的內(nèi)容(字符串),通過springmvc提供的HttpMessageConverter接口將讀到的內(nèi)容轉(zhuǎn)換為json、xml等格式的數(shù)據(jù)并綁定到controller方法的參數(shù)上。
List.action?id=1&name=zhangsan&age=12
本例子應(yīng)用:
@RequestBody注解實(shí)現(xiàn)接收http請求的json數(shù)據(jù),將json數(shù)據(jù)轉(zhuǎn)換為java對象
2 @ResponseBody
作用:
該注解用于將Controller的方法返回的對象,通過HttpMessageConverter接口轉(zhuǎn)換為指定格式的數(shù)據(jù)如:json,xml等,通過Response響應(yīng)給客戶端
本例子應(yīng)用:
@ResponseBody注解實(shí)現(xiàn)將controller方法返回對象轉(zhuǎn)換為json響應(yīng)給客戶端
3 環(huán)境配置
3.1 jar包準(zhǔn)備
Springmvc默認(rèn)用MappingJacksonHttpMessageConverter對json數(shù)據(jù)進(jìn)行轉(zhuǎn)換,需要加入jackson的包,如下:
3.2 springmvc.xml文件中的配置
1) 如果配置文件中配置過注解驅(qū)動(<mvc:annotation-driven/>), 則無需多余配置
2) 如果沒有配置注解驅(qū)動, 則需如下配置(不推薦使用這種方式)
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; } |
對應(yīng)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); } }); } |
以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時(shí)也希望多多支持服務(wù)器之家!
原文鏈接:http://www.cnblogs.com/rodge-run/p/6545630.html