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

SpringBoot接值實現(xiàn)方法詳解

 更新時間:2023年05月12日 11:22:19   作者:春哥的魔法書  
這篇文章主要介紹了SpringBoot接值實現(xiàn)方法,SpringBoot接值是指在SpringBoot應(yīng)用程序中接收請求參數(shù),從HTTP請求中獲取參數(shù),并將其綁定到Java對象中進行處理的過程,感興趣想要詳細了解可以參考下文

接值

通過方法的參數(shù)來接收請求傳來值

請求時傳值的方式有三種方式 :

  • URL?name=value
  • form表單
  • Ajax異步傳值

接收傳來的值有三類 :

  • 單一值
  • 對象
  • 數(shù)組

傳值

URL?傳值

URL?標識1=值1&標識2=值2

URL后面使用 ? 連接參數(shù), 每組參數(shù)使用 = 連接標識與值, 多組參數(shù)使用 & 連接

以 超鏈接為例 , 通過URL? 進行傳值

<a href="/test/test04?name=wang&age=12" rel="external nofollow" >test04</a> <br>

form表單傳值

<input name="標識" value="值">

在表單中 可以 , , 等標簽傳遞值, name屬性 是傳值的標識 , value屬性 是要傳遞的值

以 表單為例, 進行傳值

    <form action="/test/test04" method="post" >
        <input name="name" value="wang"> 
        <input name="age" value="12">
        <input type="submit" value="提交">
    </form>

Ajax異步傳值

var data = { "標識1" : "值1", "標識2" : "值2" }

將 要傳遞的信息封裝成 JSON 結(jié)構(gòu), 通過 Ajax異步進行傳值

這里使用 JQuery 的 Ajax 寫法 , 修改 fn 函數(shù)

    function fn() {
        var url = "/test/test04";
        var data = {"name":"wang", "age":12};
        $.ajax({
            async: true,
            type: "POST",
            url: url,
            data: data
        })
    }

接單一值

通過 方法的參數(shù)接單一結(jié)構(gòu)的值

在Controller類中增加 test04 方法

    @RequestMapping("/test/test04")
    public String test04(String name , Integer age){
        System.out.println("name = " + name);
        System.out.println("age = " + age);
        System.out.println(" controller 中的測試方法 test 04 ");
        return "ref";
    }

在頁面上分別點擊 , 進行傳值測試 在idea的控制臺都可以看到接收到的值

注意 要測試 Ajax 頁面要導入 JQuery的依賴 js 包

@RequestParam注解

在不使用 @RequestParam注解 的情況要 , 方法形式參數(shù)的名 要與傳值的標識對應(yīng)

使用@RequestParam注解后, 可以通過注解與傳值的標識對應(yīng), 而方法的形式參數(shù)名就不受限制

修改 test04方法為 name參數(shù)增加 @RequestParam注解 , 并通過注解與傳值標識匹配

    @RequestMapping("/test/test04")
    public String test04(@RequestParam("name") String n , Integer age){
        System.out.println("name = " + n);
        System.out.println("age = " + age);
        System.out.println(" controller 中的測試方法 test 04 ");
        return "ref";
    }

現(xiàn)在測試依然能得到 打印結(jié)果

@RequestParam注解屬性

但 使用了@RequestParam注解后就必須傳遞對應(yīng)的參數(shù)

當然也可以通過設(shè)置@RequestParam注解的屬性進行調(diào)整

將頁面表單中的 注釋掉

    <form action="/test/test04" method="post" >
<!--        <input name="name" value="wang">-->
        <input name="age" value="12">
        <input type="submit" value="提交">
    </form>

再測試, 會報 400 異常

修改 @RequestParam注解的屬性

required : 是否是必須的

defaultValue : 沒有接到值時, 默認設(shè)置的值

    @RequestMapping("/test/test04")
    public String test04(@RequestParam(value = "name", required = false, defaultValue = "hello") String n , Integer age){
        System.out.println("name = " + n);
        System.out.println("age = " + age);
        System.out.println(" controller 中的測試方法 test 04 ");
        return "ref";
    }

對象接值

將傳遞信息封裝成實體類對象, 通過實體類對象接值

創(chuàng)建實體類User

創(chuàng)建 entity 包(文件夾) , 在entity包(文件夾)下創(chuàng)建User實體類

User實體類

package com.yuan.entity;
import lombok.Data;
@Data
public class User {
    private String name;
    private Integer age;
}

增加新的處理方法

添加test05方法, 參數(shù)為 User 類

    @RequestMapping("/test/test05")
    public String test05(User user){
        System.out.println("name = " + user.getName());
        System.out.println("age = " + user.getAge());
        System.out.println(" controller 中的測試方法 test 05 ");
        return "ref";
    }

修改頁面并測試

修改start.html頁面請求URL

    <a href="/test/test05?name=wang&age=12" rel="external nofollow" >test05</a> <br>
    <form action="/test/test05" method="post" >
        <input name="name" value="wang">
        <input name="age" value="12">
        <input type="submit" value="提交">
    </form>

在瀏覽器發(fā)語法 , 就可以在idea控制臺看到接收到信息

數(shù)組接值

傳數(shù)組

多個相同的傳值標識, 可以傳遞數(shù)組

修改start.html頁面

    <a href="/test/test06?ids=1&ids=2&ids=3" rel="external nofollow" >test06</a> <br>
    <form action="/test/test06" method="post" >
        <input name="ids" value="1">
        <input name="ids" value="2">
        <input name="ids" value="3">
        <input type="submit" value="提交">
    </form>

增加接值方法test06并測試

    @RequestMapping("/test/test06")
    public String test06(Integer[] ids){
        System.out.println("Arrays.toString(ids) = " + Arrays.toString(ids));
        System.out.println(" controller 中的測試方法 test 06 ");
        return "ref";
    }

Ajax傳數(shù)組一

傳遞 JS數(shù)組結(jié)構(gòu)

修改start.html頁面

    function fn() {
        var url = "/test/test07";
        // var data = { "ids" : [1, 2, 3] };
        var idss = $("[name=ids]").map(function () {
            return this.value
        }).get()
        var data = {"ids": idss}
        $.ajax({
            async: true,
            type: "POST",
            url: url,
            data: data
        });
    }

添加新的接值方法test07并測試, 注意這里增加 @RequestParam("ids[]") 注解

    @RequestMapping("/test/test07")
    public String test07(@RequestParam("ids[]") Integer[] ids){
        System.out.println("Arrays.toString(ids) = " + Arrays.toString(ids));
        System.out.println(" controller 中的測試方法 test 07 ");
        return "ref";
    }

字符串傳數(shù)組

用 “,” 將信息連接成一個字符串進行傳遞

修改start.html頁面

    <a href="/test/test06?ids=1,2,3" rel="external nofollow" >test06</a> <br>
    <form action="/test/test06" method="post" >
        <input name="ids" value="1,2,3">
        <input type="submit" value="提交">
    </form>

使用接值方法test06并測試

    @RequestMapping("/test/test06")
    public String test06(Integer[] ids){
        System.out.println("Arrays.toString(ids) = " + Arrays.toString(ids));
        System.out.println(" controller 中的測試方法 test 06 ");
        return "ref";
    }

Ajax傳數(shù)組二

從 表單中獲取數(shù)據(jù), 組成數(shù)組, 再將數(shù)組使用 ","連接起來

修改start.html頁面

    function fn() {
        var url = "/test/test06";
        var idss = $("[name=ids]").map(function () {
            return this.value
        }).get()
        console.log(idss)
        var data = {"ids": idss.join(",")}
        $.ajax({
            async: true,
            type: "POST",
            url: url,
            data: data
        });
    }

使用接值方法test06并測試

    @RequestMapping("/test/test06")
    public String test06(Integer[] ids){
        System.out.println("Arrays.toString(ids) = " + Arrays.toString(ids));
        System.out.println(" controller 中的測試方法 test 06 ");
        return "ref";
    }

到此這篇關(guān)于SpringBoot接值實現(xiàn)方法詳解的文章就介紹到這了,更多相關(guān)SpringBoot接值內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • java簡單實現(xiàn)自定義日歷

    java簡單實現(xiàn)自定義日歷

    這篇文章主要為大家詳細介紹了java簡單實現(xiàn)自定義日歷,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-05-05
  • Java?18?新特性之Web服務(wù)器?jwebserver功能

    Java?18?新特性之Web服務(wù)器?jwebserver功能

    JEP?408:?Simple?Web?Server,是這次Java?18推出的一個比較獨立的全新功能點。我們可以通過命令行工具來啟動一個提供靜態(tài)資源訪問的迷你Web服務(wù)器,本文通過一個構(gòu)建HTML頁面的例子,來嘗試一下jwebserver的功能
    2022-04-04
  • springboot導出excel多個sheet導出的實現(xiàn)

    springboot導出excel多個sheet導出的實現(xiàn)

    在Java開發(fā)過程中,合理配置pom.xml文件對項目的管理和構(gòu)建至關(guān)重要,通過添加依賴管理項目所需的庫,簡化了項目構(gòu)建過程,同時,掌握導出excel工具類的使用,可以有效地處理數(shù)據(jù)導出需求,提高工作效率,本文結(jié)合個人經(jīng)驗
    2024-10-10
  • Maven配置單倉庫與多倉庫的實現(xiàn)(Nexus)

    Maven配置單倉庫與多倉庫的實現(xiàn)(Nexus)

    本文主要介紹了Maven配置單倉庫與多倉庫的實現(xiàn)(Nexus),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-01-01
  • JAVA Swing實現(xiàn)窗口添加課程信息過程解析

    JAVA Swing實現(xiàn)窗口添加課程信息過程解析

    這篇文章主要介紹了JAVA Swing實現(xiàn)窗口添加課程信息過程解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-10-10
  • Spring Boot 3.x 集成 Eureka Server/Client的詳細過程

    Spring Boot 3.x 集成 Eureka Server/Cl

    隨著SpringBoot 3.x版本的開發(fā)嘗試,本文記錄了在集成Eureka Server/Client時所遇到的問題和解決方案,文中詳細介紹了搭建服務(wù)、配置文件和測試步驟,感興趣的朋友跟隨小編一起看看吧
    2024-09-09
  • Java使用poi實現(xiàn)excel的導入操作指南

    Java使用poi實現(xiàn)excel的導入操作指南

    使用Apache Poi是一種流行且廣泛使用的方式,可以幫助開發(fā)人員直接從Java代碼中讀取、寫入和處理Excel文件,因此在這篇文章我們將著重介紹如何實現(xiàn)excel的導入,感興趣的朋友可以跟著小編一起來學習
    2023-06-06
  • spring boot集成shiro詳細教程(小結(jié))

    spring boot集成shiro詳細教程(小結(jié))

    這篇文章主要介紹了spring boot 集成shiro詳細教程,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-01-01
  • windows?java?-jar無法啟動jar包簡單的解決方法

    windows?java?-jar無法啟動jar包簡單的解決方法

    這篇文章主要介紹了windows?java?-jar無法啟動jar包簡單的解決方法,文中通過代碼介紹的非常詳細,對大家學習或者使用java具有一定的參考借鑒價值,需要的朋友可以參考下
    2024-12-12
  • Spring Boot 配置和使用多線程池的實現(xiàn)

    Spring Boot 配置和使用多線程池的實現(xiàn)

    這篇文章主要介紹了Spring Boot 配置和使用多線程池的實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06

最新評論

商洛市| 株洲县| 宿州市| 公主岭市| 辽阳市| 阳谷县| 化隆| 汝城县| 梓潼县| 金寨县| 梁河县| 富宁县| 手机| 隆尧县| 德惠市| 周宁县| 库车县| 磐石市| 安图县| 满城县| 大埔区| 拜泉县| 广西| 清水河县| 瑞金市| 沂南县| 荥阳市| 安仁县| 德惠市| 子洲县| 丹阳市| 嵊泗县| 益阳市| 晋州市| 潼南县| 泰兴市| 美姑县| 吉水县| 镇远县| 永春县| 湄潭县|