最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

springmvc參數(shù)為對(duì)象,數(shù)組的操作

 更新時(shí)間:2021年08月20日 08:48:32   作者:shuair  
這篇文章主要介紹了springmvc參數(shù)為對(duì)象,數(shù)組的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

參數(shù)為對(duì)象

1、提交表單

2、表單序列化,使用ajax提交

var data = $("#addForm").serialize();
$.ajax({
         url : "addReportDo",   //請(qǐng)求url
         type : "POST",  //請(qǐng)求類型  post|get
         data : data,
         dataType : "text",  //返回?cái)?shù)據(jù)的 類型 text|json|html--
         success : function(result){  //回調(diào)函數(shù) 和 后臺(tái)返回的 數(shù)據(jù)
             alert(result);
         }
     });

3、也可以這樣寫

     var data = {
         title: $("#title").val(),
         note: $("#note").val()
     };

4、如果結(jié)構(gòu)復(fù)雜,使用@RequestBody

需要引用jackson

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.9.5</version>
</dependency>
 
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-annotations</artifactId>
    <version>2.9.5</version>
</dependency>
 
<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-core</artifactId>
    <version>2.9.5</version>
</dependency>

springmvc.xml配置

<!--Spring3.1開始的注解 HandlerAdapter -->
<bean class="org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter">
    <!-- json轉(zhuǎn)換器 -->
    <property name="messageConverters">
        <list>
            <ref bean="mappingJackson2HttpMessageConverter" />
        </list>
    </property>
</bean>
 
<bean id="mappingJackson2HttpMessageConverter" class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">
    <property name="supportedMediaTypes">
        <list>
            <value>text/html;charset=UTF-8</value>
            <value>text/json;charset=UTF-8</value>
            <value>application/json;charset=UTF-8</value>
        </list>
    </property>
</bean>

js寫法

var goods1 = {
    goodsNumber: "001",
    goodsName: "商品A"
}
var goods2 = {
    goodsNumber: "002",
    goodsName: "商品B"
}
var goodsList = [goods1,goods2];
var data = {
    title: $("#title").val(),
    note: $("#note").val(),
    goodsList: goodsList
};
console.log(data);
$.ajax({
    url : "addReportDo",   //請(qǐng)求url
    type : "POST",  //請(qǐng)求類型  post|get
    data : JSON.stringify(data),
    contentType : "application/json",
    dataType : "text",  //返回?cái)?shù)據(jù)的 類型 text|json|html--
    success : function(result){  //回調(diào)函數(shù) 和 后臺(tái)返回的 數(shù)據(jù)
        alert(result);
    }
});

注意ajax的兩個(gè)屬性,data屬性變?yōu)镴SON.stringify(data),增加contentType屬性。

controller代碼寫法

@ResponseBody
@RequestMapping("addReportDo")
public String addReportDo(@RequestBody Report report){
    System.out.println(report);
    return "ok";
}

在參數(shù)前面加上@RequestBody即可。

5、傳遞數(shù)組

js寫法

var array = ["a","b","c"];
var data = {
    array : array
};
console.log(data);
$.ajax({
    url : "addReportDo",   //請(qǐng)求url
    type : "POST",  //請(qǐng)求類型  post|get
    data : data,
    dataType : "text",  //返回?cái)?shù)據(jù)的 類型 text|json|html--
    success : function(result){  //回調(diào)函數(shù) 和 后臺(tái)返回的 數(shù)據(jù)
        alert(result);
    }
});

controller寫法

@ResponseBody
@RequestMapping("addReportDo")
public String addReportDo(@RequestParam("array[]")  String[] array){
    System.out.println(Arrays.toString(array));
    return "ok";
}

也可以用List接收

@ResponseBody
@RequestMapping("addReportDo")
public String addReportDo(@RequestParam("array[]") List<String> list){
   System.out.println(list);
   return "ok";
}

springmvc接受復(fù)雜對(duì)象(對(duì)象數(shù)組)

前端:

將請(qǐng)求頭改為

contentType:"application/json;charset=UTF-8"

后端:

自定義一個(gè)對(duì)象,將參數(shù)封裝進(jìn)該對(duì)象中

@Data
public class CaseBodyEntity {
    String token;
    CaseBasicModel caseBasic;
    String[] keywords;
    CaseInsurantAndProductModel[] caseInsurantAndProductModels;
    CaseExperienceModel[] caseExperiences;
    CaseAssessModel[] caseAssesses;
}

使用使用POST方式接受請(qǐng)求,@RequestBody接受請(qǐng)求參數(shù),對(duì)象為自定義的接受對(duì)象

    @ApiOperation("添加或更新案例,后臺(tái)")
    @PostMapping("/addOrUpdateCase")
    public JSONObject addOrUpdateCase(
            @RequestBody CaseBodyEntity caseBodyEntity
    ) {
        ...
    }

@RequestBody和@RequestParam的區(qū)別

  • @RequestParam,主要處理contentType為application/x-www-form-urlencoded的數(shù)據(jù)(默認(rèn));@ResponseBody:主要處理contentType不為application/x-www-form-urlencoded的數(shù)據(jù),例如:application/json;charset=UTF-8
  • @RequestParam:要指明前端傳過來的參數(shù)名并與其對(duì)應(yīng);@RequestBody:直接對(duì)象接收,屬性名要與前端傳過來的數(shù)據(jù)的key值對(duì)應(yīng)
  • 使用@RequestParam:Content-Type為application/x-www-form-urlencoded,參數(shù)在FormData中;使用@RequestBody:Content-Type為application/json,參數(shù)在Request PayLoad中
  • 可以使用多個(gè)@RequestParam獲取數(shù)據(jù);@RequestBody不能在同一個(gè)方法中出現(xiàn)多次

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Java TCP協(xié)議通信超詳細(xì)講解

    Java TCP協(xié)議通信超詳細(xì)講解

    TCP/IP是一種面向連接的、可靠的、基于字節(jié)流的傳輸層通信協(xié)議,它會(huì)保證數(shù)據(jù)不丟包、不亂序。TCP全名是Transmission Control Protocol,它是位于網(wǎng)絡(luò)OSI模型中的第四層
    2022-09-09
  • Java中的Timer與TimerTask源碼及使用解析

    Java中的Timer與TimerTask源碼及使用解析

    這篇文章主要介紹了Java中的Timer與TimerTask源碼及使用解析,在Java中,經(jīng)常使用Timer來定時(shí)調(diào)度任務(wù),Timer調(diào)度任務(wù)有一次性調(diào)度和循環(huán)調(diào)度,循環(huán)調(diào)度有分為固定速率調(diào)度(fixRate)和固定時(shí)延調(diào)度(fixDelay),需要的朋友可以參考下
    2023-10-10
  • java字符串的大寫字母右移實(shí)現(xiàn)方法

    java字符串的大寫字母右移實(shí)現(xiàn)方法

    下面小編就為大家?guī)硪黄猨ava字符串的大寫字母右移實(shí)現(xiàn)方法。小編覺得聽不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-04-04
  • Springboot集成百度地圖實(shí)現(xiàn)定位打卡的示例代碼

    Springboot集成百度地圖實(shí)現(xiàn)定位打卡的示例代碼

    本文主要介紹了Springboot集成百度地圖實(shí)現(xiàn)定位打卡的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2024-02-02
  • java File類的基本使用方法總結(jié)

    java File類的基本使用方法總結(jié)

    這篇文章主要介紹了java File類的基本使用方法總結(jié),為大家分享了java實(shí)現(xiàn)上傳代碼,感興趣的小伙伴們可以參考一下
    2016-04-04
  • java音樂播放器課程設(shè)計(jì)

    java音樂播放器課程設(shè)計(jì)

    這篇文章主要為大家詳細(xì)介紹了java音樂播放器的課程設(shè)計(jì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-06-06
  • Java泛型類與泛型方法的定義詳解

    Java泛型類與泛型方法的定義詳解

    這篇文章主要介紹了Java泛型類與泛型方法的定義,結(jié)合實(shí)例形式詳細(xì)分析了java泛型類與泛型方法定義、用法及相關(guān)操作注意事項(xiàng),需要的朋友可以參考下
    2019-08-08
  • Java異常處理操作實(shí)例小結(jié)

    Java異常處理操作實(shí)例小結(jié)

    這篇文章主要介紹了Java異常處理操作,結(jié)合實(shí)例形式總結(jié)分析了java異常處理常見操作情況與相關(guān)處理技巧,需要的朋友可以參考下
    2019-07-07
  • Java監(jiān)聽器三種實(shí)現(xiàn)方法代碼解析

    Java監(jiān)聽器三種實(shí)現(xiàn)方法代碼解析

    這篇文章主要介紹了Java監(jiān)聽器三種實(shí)現(xiàn)方法代碼解析,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • 不到十行實(shí)現(xiàn)javaCV圖片OCR文字識(shí)別

    不到十行實(shí)現(xiàn)javaCV圖片OCR文字識(shí)別

    識(shí)別圖片中的文字,會(huì)省很多時(shí)間,本文介紹了javaCV圖片OCR文字識(shí)別,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-05-05

最新評(píng)論

南宫市| 博湖县| 清水河县| 吉首市| 宾阳县| 临澧县| 海盐县| 额尔古纳市| 焦作市| 宜川县| 湖口县| 望都县| 克拉玛依市| 赤水市| 吴江市| 衡阳县| 黔西县| 扎鲁特旗| 安西县| 蓬溪县| 务川| 北安市| 云安县| 浦城县| 蚌埠市| 高安市| 枣庄市| 泸定县| 三明市| 林口县| 彰化市| 安多县| 凤翔县| 芦山县| 孟津县| 泰顺县| 高邑县| 平度市| 台北县| 闻喜县| 凤凰县|