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

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

PHP教程|ASP.NET教程|JAVA教程|ASP教程|編程技術(shù)|正則表達(dá)式|

服務(wù)器之家 - 編程語(yǔ)言 - JAVA教程 - 詳解springmvc之json數(shù)據(jù)交互controller方法返回值為簡(jiǎn)單類型

詳解springmvc之json數(shù)據(jù)交互controller方法返回值為簡(jiǎn)單類型

2020-09-25 14:08思念悲傷 JAVA教程

這篇文章主要介紹了springmvc之json數(shù)據(jù)交互controller方法返回值為簡(jiǎn)單類型,非常具有實(shí)用價(jià)值,需要的朋友可以參考下

當(dāng)controller方法的返回值為簡(jiǎn)單類型比如String時(shí),該如何與json交互呢?

使用@RequestBody

比如代碼如下:

?
1
2
3
4
5
@RequestMapping(value="/ceshijson",produces="application/json;charset=UTF-8")
@ResponseBody
public String ceshijson(@RequestBody String channelId) throws IOException{
 
 return channelId;

如果代碼為上面這種情況時(shí),前臺(tái)發(fā)送json時(shí),應(yīng)該這樣寫(xiě)(寫(xiě)法有很多,能用就行)

?
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
function channel(){
   //先獲取選中的值
   var channelId = $("#channelId option:selected").val();
   //來(lái)判斷發(fā)送的鏈接
   if(channelId ==2){
 
 
   $.ajax({
     url:"ceshijson",
     type:"post",
     dataType:'json',
     contentType:'application/json;charset=utf-8',
     data:JSON.stringify({'channelId':channelId}),
     success:function(data){
      alert(data.channelId);
     },
     error:function(XMLHttpRequest, textStatus, errorThrown){
     alert("Error")
     alert(XMLHttpRequest.status);
     alert(XMLHttpRequest.readyState);
     alert(textStatus);
     }
   });
   }
  }

這里需要特別注意:上篇也強(qiáng)調(diào)過(guò),使用了@RequestBody時(shí),它要求String channelId接收到數(shù)據(jù)為json字符串。也就是要是data寫(xiě)成這樣: data:{‘channelId':channelId},就是錯(cuò)誤的。因?yàn)檫@是json對(duì)象形式。

要是你不想使用JSON.stringify()這個(gè)函數(shù),那就自己手動(dòng)字符串拼接:

?
1
data:'{"channelId":'+channelId+'}'

這里還要注意channelId是雙引號(hào),不能寫(xiě)成單引號(hào),因?yàn)檫@是json語(yǔ)法規(guī)則。你改成單引號(hào),也就是

**錯(cuò)誤寫(xiě)法

?
1
data:"{'channelId':"+channelId+"}"

這種形式,雖然可以傳給后臺(tái),但是后臺(tái)傳回來(lái)的會(huì)出現(xiàn)undefined。也就是key必須要用雙引號(hào)包圍。

不使用@RequestBody

?
1
2
3
4
5
6
7
8
9
@RequestMapping(value="/ceshijson",produces="application/json;charset=UTF-8")
@ResponseBody
public String ceshijson(String channelId) throws IOException{
 Map<String,Object> map = new HashMap<String,Object>();
  map.put("channelId", channelId);
  ObjectMapper mapper = new ObjectMapper();
  channelId = mapper.writeValueAsString(map);
 return channelId;
}

前臺(tái)代碼

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
$.ajax({
   url:"ceshijson",
   type:"post",
   dataType:'json',
   //contentType:'application/json;charset=utf-8',
   data:"channelId="+channelId,
   success:function(data){
    alert(data);
   },
   error:function(XMLHttpRequest, textStatus, errorThrown){
     alert("Error")
     alert(XMLHttpRequest.status);
     alert(XMLHttpRequest.readyState);
     alert(textStatus);
    }
});

這種方式利用ObjectMapper中的writeValueAsString將Java對(duì)象轉(zhuǎn)換為json字符串。

總結(jié):這種方式,其實(shí)是沒(méi)有多大的實(shí)際意思,因?yàn)橐话憬邮諗?shù)據(jù)不是這么接收的。只做了解!

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持服務(wù)器之家。

原文鏈接:http://blog.csdn.net/u013066244/article/details/50600092

延伸 · 閱讀

精彩推薦
  • JAVA教程深入理解spring多數(shù)據(jù)源配置

    深入理解spring多數(shù)據(jù)源配置

    項(xiàng)目中我們經(jīng)常會(huì)遇到多數(shù)據(jù)源的問(wèn)題,尤其是數(shù)據(jù)同步或定時(shí)任務(wù)等項(xiàng)目更是如此。本篇文章主要介紹了spring多數(shù)據(jù)源配置,有興趣的可以了解一下。...

    wangpeng0472192020-07-23
  • JAVA教程Java操作MongoDB模糊查詢和分頁(yè)查詢

    Java操作MongoDB模糊查詢和分頁(yè)查詢

    這篇文章主要介紹了Java操作MongoDB模糊查詢和分頁(yè)查詢的相關(guān)資料,需要的朋友可以參考下 ...

    java教程網(wǎng)2772020-04-22
  • JAVA教程徹底理解Java中的ThreadLocal

    徹底理解Java中的ThreadLocal

     ThreadLocal翻譯成中文比較準(zhǔn)確的叫法應(yīng)該是:線程局部變量。使用這個(gè)工具類可以很簡(jiǎn)潔地編寫(xiě)出優(yōu)美的多線程程序。 接下來(lái)通過(guò)本文給大家介紹Java中的...

    楓之逆2932020-08-26
  • JAVA教程java定時(shí)任務(wù)的實(shí)現(xiàn)方式

    java定時(shí)任務(wù)的實(shí)現(xiàn)方式

    這篇文章主要介紹了java定時(shí)任務(wù)的實(shí)現(xiàn)方式,在應(yīng)用里經(jīng)常都有用到在后臺(tái)跑定時(shí)任務(wù)的需求,如何進(jìn)行java定時(shí)任務(wù),本文為大家進(jìn)行講解,感興趣的小...

    lijiao2802020-03-31
  • JAVA教程java不通過(guò)配置文件初始化logger示例

    java不通過(guò)配置文件初始化logger示例

    這篇文章主要介紹了java不通過(guò)配置文件初始化logger示例,需要的朋友可以參考下 ...

    Java教程網(wǎng)2332019-11-22
  • JAVA教程Java Swing中的表格(JTable)和樹(shù)(JTree)組件使用實(shí)例

    Java Swing中的表格(JTable)和樹(shù)(JTree)組件使用實(shí)例

    這篇文章主要介紹了Java Swing中的表格(JTable)和樹(shù)(JTree)組件使用實(shí)例,本文同時(shí)講解了表格和樹(shù)的基本概念、常用方法、代碼實(shí)例,需要的朋友可以參考下 ...

    Java教程網(wǎng)2782019-12-02
  • JAVA教程Java設(shè)計(jì)模式之單例模式詳解

    Java設(shè)計(jì)模式之單例模式詳解

    這篇文章主要為大家詳細(xì)介紹了Java設(shè)計(jì)模式之單例模式的相關(guān)資料,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下...

    byhieg2262020-08-29
  • JAVA教程java實(shí)現(xiàn)socket客戶端連接服務(wù)端

    java實(shí)現(xiàn)socket客戶端連接服務(wù)端

    本文是個(gè)人剛剛開(kāi)始學(xué)習(xí)如何通過(guò)socket去發(fā)送信息下邊的案例,也是書(shū)上的在這留下筆記,最后附上一個(gè)實(shí)例,有需要的小伙伴可以參考下。 ...

    hebedich3832020-01-08
主站蜘蛛池模板: 亚洲精品成人456在线播放 | 天天操夜夜操狠狠操 | 国内小情侣一二三区在线视频 | gay男男白袜chinese| 加勒比久草 | 69热精品视频在线看影院 | 亚洲精品免费视频 | 国内自拍视频在线观看 | 免费高清在线视频色yeye | 性伴交换多p | 给我一个黄色网址 | 日本视频在线播放 | 欧美专区在线播放 | 亚瑟天堂久久一区二区影院 | 华人亚洲欧美精品国产 | 动漫美女羞羞视频 | 三级全黄裸体 | 国产成+人+亚洲+欧美综合 | 青青草成人在线观看 | 5g影院成人 | 国产在线激情视频 | 日本加勒比在线精品视频 | 99久久精品无码一区二区毛片 | 亚洲精品国产成人中文 | uoco福利姬| 日韩精品福利视频一区二区三区 | 啊哈~嗯哼~用力cao我小说 | 性欧美xxxxx高清 | 日本动漫打扑克动画片樱花动漫 | 国产卡一卡二卡3卡乱码免费 | 99热国产在线 | 国产福利资源网在线观看 | 亚洲香蕉综合在人在线视看 | 日韩大片免费观看 | 小SAO货叫大声点妓女 | 色综合97天天综合网 | 日本一本二本三区免费 | 香蕉久久一区二区不卡无毒影院 | 免费在线影院 | 大学生特黄特色大片免费播放 | 欧美调教打屁股spank视频 |