一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術|正則表達式|

服務器之家 - 編程語言 - JAVA教程 - SpringMVC教程之json交互使用詳解

SpringMVC教程之json交互使用詳解

2020-09-25 14:17SIHAIloveYAN JAVA教程

本篇文章主要介紹了SpringMVC教程之json使用詳解,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧

json數據交互

1.1 @RequestBody

作用:@RequestBody注解用于讀取http請求的內容(字符串),通過springmvc提供的HttpMessageConverter接口將讀到的內容轉換為json、xml等格式的數據并綁定到controller方法的參數上。

本例子應用:@RequestBody注解實現接收http請求的json數據,將json數據轉換為Java對象

1.2 @ResponseBody

作用:該注解用于將Controller的方法返回的對象,通過HttpMessageConverter接口轉換為指定格式的數據如:json,xml等,通過Response響應給客戶端

本例子應用:@ResponseBody注解實現將controller方法返回對象轉換為json響應給客戶端 

1.3 請求json,響應json實現:

1.3.1 環境準備

Springmvc默認用MappingJacksonHttpMessageConverter對json數據進行轉換,需要加入jackson的包,如下:

1.3.2 配置json轉換器

在注解適配器中加入messageConverters

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<!--注解適配器 -->
 
<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>

注意:如果使用<mvc:annotation-driven /> 則不用定義上邊的內容。

1.3.3 controller編寫

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
// 商品修改提交json信息,響應json信息
 
@RequestMapping("/editItemSubmit_RequestJson")
 
public @ResponseBody Items editItemSubmit_RequestJson(@RequestBody Items items) throws Exception {
 
System.out.println(items);
 
//itemService.saveItem(items);
 
return items;
 
 
 
}

1.3.4 頁面js方法編寫:

引入 js:

?
1
2
<script type="text/JavaScript"
src="${pageContext.request.contextPath }/js/jQuery-1.4.4.min.js"></script>
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
//請求json響應json
 
function request_json(){
 
$.ajax({
 
type:"post",
 
url:"${pageContext.request.contextPath }/item/editItemSubmit_RequestJson.action",
 
contentType:"application/json;charset=utf-8",
 
data:'{"name":"測試商品","price":99.9}',
 
success:function(data){
 
alert(data);
 
}
 
});
 
}

1.4 Form提交,響應json實現:

采用form提交是最常用的作法,通常有post和get兩種方法,響應json數據是為了方便客戶端處理,實現如下:

1.4.1 環境準備

同第一個例子

1.4.2 controller編寫

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
// 商品修改提交,提交普通form表單數據,響應json
 
@RequestMapping("/editItemSubmit_ResponseJson")
 
public @ResponseBody Items editItemSubmit_ResponseJson(Items items) throws Exception {
 
 
 
System.out.println(items);
 
 
 
//itemService.saveItem(items);
 
return items;
 
}

1.4.3 頁面js方法編寫:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
function formsubmit(){
 
var user = " name=測試商品&price=99.9";
 
alert(user);
 
 $.ajax(
 
{
 
type:'post',//這里改為get也可以正常執行
 
url:'${pageContext.request.contextPath}/item/ editItemSubmit_RequestJson.action',
 
//ContentType沒指定將默認為:application/x-www-form-urlencoded
 
data:user,
 
success:function(data){
 
alert(data.name);
 
}
 
}
 
)
 
}

從上邊的js代碼看出,已去掉ContentType的定義,ContentType默認為:application/x-www-form-urlencoded格式。

1.4.4 jquery的form插件插件

針對上邊第二種方法,可以使用jquery的form插件提交form表單,實現ajax提交form表單,如下:

引用js:

?
1
2
3
4
<script type="text/javascript"
src="${pageContext.request.contextPath }/js/jquery-1.4.4.min.js"></script>
<script type="text/javascript"
src="${pageContext.request.contextPath }/js/jquery.form.min.js"></script>

js方法如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
function response_json() {
 
//form對象
 
var formObj = $("#itemForm");
 
//執行ajax提交
 
formObj.ajaxSubmit({
 
dataType : "json",//設置預期服務端返回json
 
success : function(responseText) {
 
alert(responseText);
 
}
 
});
 
}

1.4.5 小結

實際開發中常用第二種方法,請求key/value數據,響應json結果,方便客戶端對結果進行解析。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持服務器之家。

原文鏈接:http://blog.csdn.net/sihai12345/article/details/70254720

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 欧美xxxxxbb | 99久久精品自在自看国产 | 99视频在线看 | 调教扩张宫颈女人惨叫 | 50度灰破解版v5.7.0 | jizzjizz大学生 | 亚洲AV人无码综合在线观看蜜桃 | 女人特黄大aaaaaa大片 | 亚洲国产成人资源在线桃色 | 国产自拍视频一区 | 2048论坛永久入口 原创合集 | 日本www视频在线观看 | 黄情视频 | 性夜a爽黄爽 | 欧美日韩国产一区二区三区不卡 | 99这里只有精品66视频 | 情侣奴伺候女王第2部分小说 | 亚洲AV综合99一二三四区 | 成人性用品 | 日本视频在线免费观看 | 黑人同学征服教师麻麻 | 亚洲性视频在线观看 | 亚洲人成激情在线播放 | 亚洲高清毛片一区二区 | 边摸边吃奶边做爽视频免费 | 四虎国产一区 | 2020最新韩国理论三级0k | 国产一区二区免费不卡在线播放 | 久久九九有精品国产23百花影院 | 动漫jk美女被爆羞羞漫画 | 免费国产成人高清视频网站 | 全肉一女n男np高h乳 | 污污免费 | 国产一卡二卡3卡4卡四卡在线 | 青青青国产精品国产精品久久久久 | 国产成人一区二区三区小说 | 亚洲色图亚洲色图 | 欧美日韩精品一区二区三区高清视频 | 亚洲国产自拍在线 | 娇小XXXXX第一次出血 | 十八女下面流水不遮免费 |