欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

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

 更新時(shí)間:2017年05月06日 11:09:46   作者:思念悲傷  
這篇文章主要介紹了springmvc之json數(shù)據(jù)交互controller方法返回值為簡(jiǎn)單類型,非常具有實(shí)用價(jià)值,需要的朋友可以參考下

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

使用@RequestBody

比如代碼如下:

@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)該這樣寫(寫法有很多,能用就行)

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寫成這樣: data:{‘channelId':channelId},就是錯(cuò)誤的。因?yàn)檫@是json對(duì)象形式。

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

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

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

**錯(cuò)誤寫法

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

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

不使用@RequestBody

 @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)代碼

$.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í)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 使用1招搞定maven打包空間不足的問(wèn)題

    使用1招搞定maven打包空間不足的問(wèn)題

    這篇文章主要介紹了使用1招搞定maven打包空間不足的問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-09-09
  • Springboot項(xiàng)目長(zhǎng)時(shí)間不進(jìn)行接口操作,提示HikariPool-1警告的解決

    Springboot項(xiàng)目長(zhǎng)時(shí)間不進(jìn)行接口操作,提示HikariPool-1警告的解決

    這篇文章主要介紹了Springboot項(xiàng)目長(zhǎng)時(shí)間不進(jìn)行接口操作,提示HikariPool-1警告的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-12-12
  • java中forward轉(zhuǎn)發(fā)的使用

    java中forward轉(zhuǎn)發(fā)的使用

    在Java中,forward轉(zhuǎn)發(fā)是一種非常常見且重要的操作,我們將深入探討forward的概念和用法,并給出一些代碼示例來(lái)幫助讀者更好地理解,感興趣的可以了解下
    2023-11-11
  • 基于SpringBoot+Avue實(shí)現(xiàn)短信通知功能

    基于SpringBoot+Avue實(shí)現(xiàn)短信通知功能

    Avue是基于vue和element-ui的快速開發(fā)框架 ,它的核心是數(shù)據(jù)驅(qū)動(dòng)UI的思想,讓我們從繁瑣的crud開發(fā)中解脫出來(lái),本文將給大家介紹一下使用SpringBoot+Avue實(shí)現(xiàn)短信通知功能,文中有詳細(xì)的代碼示例,需要的朋友可以參考下
    2023-09-09
  • 通過(guò)實(shí)例解析Java List正確使用方法

    通過(guò)實(shí)例解析Java List正確使用方法

    這篇文章主要介紹了通過(guò)實(shí)例解析Java List正確使用方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-11-11
  • 使用Feign遠(yuǎn)程調(diào)用時(shí),序列化對(duì)象失敗的解決

    使用Feign遠(yuǎn)程調(diào)用時(shí),序列化對(duì)象失敗的解決

    這篇文章主要介紹了使用Feign遠(yuǎn)程調(diào)用時(shí),序列化對(duì)象失敗的解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Java-IO流實(shí)驗(yàn)

    Java-IO流實(shí)驗(yàn)

    流是一種抽象概念,它代表了數(shù)據(jù)的無(wú)結(jié)構(gòu)化傳遞。。用來(lái)進(jìn)行輸入輸出操作的流就稱為IO流。換句話說(shuō),IO流就是以流的方式進(jìn)行輸入輸出,希望能給您帶來(lái)幫助
    2021-06-06
  • Spring使用RestTemplate和Junit單元測(cè)試的注意事項(xiàng)

    Spring使用RestTemplate和Junit單元測(cè)試的注意事項(xiàng)

    這篇文章主要介紹了Spring使用RestTemplate和Junit單元測(cè)試的注意事項(xiàng),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-10-10
  • 詳解Springboot下載Excel的三種方式

    詳解Springboot下載Excel的三種方式

    本文給大家分享Springboot下載Excel三種方式,主要分為瀏覽器下載和代碼本地下載實(shí)現(xiàn)的方式,針對(duì)每種實(shí)現(xiàn)方式給大家介紹的非常詳細(xì),需要的朋友參考下吧
    2021-07-07
  • java實(shí)現(xiàn)汽車租賃系統(tǒng)

    java實(shí)現(xiàn)汽車租賃系統(tǒng)

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)汽車租賃系統(tǒng),文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-01-01

最新評(píng)論