91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SpringBoot接值如何實現

發布時間:2023-10-16 17:20:30 來源:億速云 閱讀:109 作者:栢白 欄目:開發技術

今天小編給大家分享的是SpringBoot接值如何實現,相信很多人都不太了解,為了讓大家更加了解,所以給大家總結了以下內容,一起往下看吧。一定會有所收獲的哦。


接值

通過方法的參數來接收請求傳來值

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

  • URL?name=value

  • form表單

  • Ajax異步傳值

接收傳來的值有三類 :

  • 單一值

  • 對象

  • 數組

傳值

URL?傳值

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

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

以 超鏈接為例 , 通過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 結構, 通過 Ajax異步進行傳值

這里使用 JQuery 的 Ajax 寫法 , 修改 fn 函數

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

接單一值

通過 方法的參數接單一結構的值

在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注解 的情況要 , 方法形式參數的名 要與傳值的標識對應

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

修改 test04方法為 name參數增加 @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";
    }

現在測試依然能得到 打印結果

@RequestParam注解屬性

但 使用了@RequestParam注解后就必須傳遞對應的參數

當然也可以通過設置@RequestParam注解的屬性進行調整

將頁面表單中的 注釋掉

    <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 : 沒有接到值時, 默認設置的值

    @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";
    }

對象接值

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

創建實體類User

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

SpringBoot接值如何實現

User實體類

package com.yuan.entity;
import lombok.Data;
@Data
public class User {
    private String name;
    private Integer age;
}
增加新的處理方法

添加test05方法, 參數為 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>

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

數組接值

傳數組

多個相同的傳值標識, 可以傳遞數組

修改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傳數組一

傳遞 JS數組結構

修改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";
    }
字符串傳數組

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

修改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傳數組二

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

修改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";
    }

關于SpringBoot接值如何實現就分享到這里了,希望以上內容可以對大家有一定的參考價值,可以學以致用。如果喜歡本篇文章,不妨把它分享出去讓更多的人看到。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

沁源县| 五大连池市| 财经| 札达县| 安远县| 南乐县| 博白县| 荔波县| 定陶县| 繁昌县| 崇仁县| 东宁县| 琼中| 芦山县| 盐边县| 修水县| 二连浩特市| 瑞昌市| 武宣县| 军事| 连云港市| 民权县| 孟津县| 和硕县| 阳曲县| 天门市| 随州市| 蒙自县| 鄂尔多斯市| 枣阳市| 佛冈县| 株洲市| 阳谷县| 辉南县| 阿拉善左旗| 瓦房店市| 上虞市| 余姚市| 洛浦县| 萨嘎县| 集安市|