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

SpringMvc獲取頁(yè)面中的參數(shù)方法詳解

 更新時(shí)間:2023年10月16日 11:17:49   作者:Rnr_..  
這篇文章主要介紹了SpringMvc獲取頁(yè)面中的參數(shù)方法詳解,獲取頁(yè)面的參數(shù)通常都是讓類實(shí)現(xiàn)設(shè)置HttpServletRequest request接口然后重寫接口中的方法的辦法來(lái)得到參數(shù),但是在Springmvc中有其他的獲取方法,需要的朋友可以參考下

一、設(shè)置HttpServletRequest request獲取

index頁(yè)面通過(guò)form標(biāo)簽傳入?yún)?shù)代碼

<form th:action="@{/test/params/servletAPI}" method="get">
    用戶名;<input type="text" name="username"><br>
    密碼;<input type="password" name="password"><br>
    <input type="submit" value="提交"><br>
</form>

控制層代碼

只需要在控制器方法的形參位置設(shè)置HttpServletRequest request參數(shù) *就可以在控制器方法中使用request對(duì)象獲取請(qǐng)求參數(shù)

注意這里我們的類并沒(méi)有繼承HttpServletRequest,但是我們只需要設(shè)置參數(shù)就可以使用它了

這是因?yàn)?,我們?cè)趙eb.xml文件初始化的時(shí)候就會(huì)將我們的類交給DispatcherServlet管理, 這樣在主頁(yè)面中調(diào)用方法時(shí)我們DispatcherServlet底層時(shí)封裝的serclet

所以我們只需要輸入?yún)?shù)HttpServletRequest request 就可以自動(dòng)獲得一個(gè)servlet對(duì)象 (但是從這里我們也可以看出,我們并不會(huì)經(jīng)常使用這種方式獲取參數(shù),因?yàn)榧热籇ispatcherServlet為我們封裝了servlet、 那我們沒(méi)必要使用原生的servlet方法)

@Controller
public class GetparamController {
    @RequestMapping("/test/params/servletAPI")
    public String GetParams1(HttpServletRequest request){
        String username = request.getParameter("username");
        String password = request.getParameter("password");
        System.out.println("username="+username+" password="+password);
        return "success";
    }

二、將請(qǐng)求參數(shù)和控制器方法的形參綁定

index頁(yè)面通過(guò)form標(biāo)簽傳入?yún)?shù)代碼

<form th:action="@{/test/params1}" method="get">
    用戶名;<input type="text" name="username"><br>
    密碼;<input type="password" name="password"><br>
    <input type="submit" value="提交"><br>
</form>

控制層代碼

  • @RequestParam注解的三個(gè)屬性;value,required,defaultvalue
  • value;設(shè)置和形參綁定的請(qǐng)求參數(shù)的名字
  • required;設(shè)置是否必須傳輸value所對(duì)應(yīng)的請(qǐng)求參數(shù)
  • 默認(rèn)值為ture,表示value所對(duì)應(yīng)的請(qǐng)求參數(shù)必須傳輸,否則頁(yè)面報(bào)錯(cuò);400
  • 若設(shè)置為false,則表示value所對(duì)應(yīng)的請(qǐng)求參數(shù)不是必須傳輸,若未傳輸,則形參值為null
  • defaultvalue;設(shè)置當(dāng)沒(méi)有傳輸value所對(duì)應(yīng)的請(qǐng)求參數(shù)時(shí),為形參設(shè)置默認(rèn)值,此時(shí)和required屬性無(wú)關(guān)
@RequestMapping("/test/params1")
    public String GetParams2(
            //required =true;這里表示必須傳入?yún)?shù)username
            //value = "username" 將username的值賦值給 String name
            //defaultValue = "home";如果傳入了username沒(méi)有賦值則給他默認(rèn)值home,若有值則不管
            @RequestParam(value = "username",required =true,defaultValue = "home")String name, String password){
        System.out.println("username="+name+" password="+password);
        return "success";
    }

三、通過(guò)實(shí)體類類型的參數(shù)獲取

index頁(yè)面通過(guò)form標(biāo)簽傳入?yún)?shù)代碼

<form th:action="@{/test/params/pojo}" method="post">
    用戶名;<input type="text" name="username"><br>
    密碼;<input type="password" name="password"><br>
    <input type="submit" value="提交"><br>
</form>

創(chuàng)建User實(shí)體類,并且類中的屬性和請(qǐng)求參數(shù)的名字一一對(duì)應(yīng)

public class User {
    private String username;
    private String password;


    public User() {
    }

    public User(String username, String password) {
        this.username = username;
        this.password = password;
    }

    public String getUsername() {
        return username;
    }

    public void setUsername(String username) {
        this.username = username;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    @Override
    public String toString() {
        return "User{" +
                "username='" + username + '\'' +
                ", password='" + password + '\'' +
                '}';
    }
}

控制層代碼

需要在控制器方法的形參位置設(shè)置實(shí)體類類型的形參,要保證實(shí)體類中的屬性的屬性名和請(qǐng)求參數(shù)的名字一一對(duì)應(yīng) 可以通過(guò)實(shí)體類類型的形參獲取請(qǐng)求參數(shù)

@RequestMapping("/test/params/pojo")
    public String GetParams2(User user){
        System.out.println(user);
        return "success";
    }

}

四、@RequestHeader,@CookieValue

  • @RequestHeader;將請(qǐng)求頭和控制器方法的形參綁定(用法和,@RequestParam一樣)
  • @CookieValue;將cookie數(shù)據(jù)和控制器方法的形參綁定(用法和,@RequestParam一樣)

到此這篇關(guān)于SpringMvc獲取頁(yè)面中的參數(shù)方法詳解的文章就介紹到這了,更多相關(guān)SpringMvc獲取頁(yè)面參數(shù)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java之通過(guò)OutputStream寫入文件與文件復(fù)制問(wèn)題

    Java之通過(guò)OutputStream寫入文件與文件復(fù)制問(wèn)題

    這篇文章主要介紹了Java之通過(guò)OutputStream寫入文件與文件復(fù)制問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-04-04
  • maven項(xiàng)目打包如何去掉不需要的module

    maven項(xiàng)目打包如何去掉不需要的module

    文章總結(jié):在my-project工程依賴my-core和my-common,且my-project在總工程AAA中時(shí),建議通過(guò)以下兩種方案優(yōu)化打包流程:1.?使用pom區(qū)分,重新編寫pom文件,并指定需要重新編譯的工程到modules中,然后在編譯時(shí)指定pom文件;
    2024-12-12
  • Java內(nèi)存模型中的虛擬機(jī)棧原理分析

    Java內(nèi)存模型中的虛擬機(jī)棧原理分析

    這篇文章主要介紹了Java內(nèi)存模型中的虛擬機(jī)棧原理分析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-11-11
  • SpringBoot中使用JWT的實(shí)戰(zhàn)

    SpringBoot中使用JWT的實(shí)戰(zhàn)

    本文主要介紹了SpringBoot中使用JWT的實(shí)戰(zhàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-06-06
  • 解決 java: 程序包c(diǎn)om.baomidou.mybatisplus.annotation不存在

    解決 java: 程序包c(diǎn)om.baomidou.mybatisplus.annotation不存在

    在使用Java編寫程序時(shí),經(jīng)常會(huì)遇到各種編譯錯(cuò)誤或運(yùn)行時(shí)異常,本文主要介紹了解決java:程序包c(diǎn)om.baomidou.mybatisplus.annotation不存在,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-03-03
  • Java Swing JSlider滑塊的實(shí)現(xiàn)示例

    Java Swing JSlider滑塊的實(shí)現(xiàn)示例

    這篇文章主要介紹了Java Swing JSlider滑塊的實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • 詳談Java8新特性泛型的類型推導(dǎo)

    詳談Java8新特性泛型的類型推導(dǎo)

    這篇文章我們來(lái)看一篇關(guān)于Java8新特性之泛型的類型推導(dǎo),希望這篇文章能夠讓各位深入到了解到關(guān)于Java8新特性之泛型的類型用法,有需要的朋友們下面來(lái)一起看看吧。
    2016-09-09
  • Java實(shí)現(xiàn)終止線程池中正在運(yùn)行的定時(shí)任務(wù)

    Java實(shí)現(xiàn)終止線程池中正在運(yùn)行的定時(shí)任務(wù)

    本篇文章給大家分享了JAVA中實(shí)現(xiàn)終止線程池中正在運(yùn)行的定時(shí)任務(wù)的具體步驟和方法,有需要的朋友跟著學(xué)習(xí)下。
    2018-05-05
  • Java并發(fā)系列之ReentrantLock源碼分析

    Java并發(fā)系列之ReentrantLock源碼分析

    這篇文章主要為大家詳細(xì)介紹了Java并發(fā)系列之ReentrantLock源碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • Java微服務(wù)Filter過(guò)濾器集成Sentinel實(shí)現(xiàn)網(wǎng)關(guān)限流過(guò)程詳解

    Java微服務(wù)Filter過(guò)濾器集成Sentinel實(shí)現(xiàn)網(wǎng)關(guān)限流過(guò)程詳解

    這篇文章主要介紹了Java微服務(wù)Filter過(guò)濾器集成Sentinel實(shí)現(xiàn)網(wǎng)關(guān)限流過(guò)程,首先Sentinel規(guī)則的存儲(chǔ)默認(rèn)是存儲(chǔ)在內(nèi)存的,應(yīng)用重啟之后規(guī)則會(huì)丟失。因此我們通過(guò)配置中心Nacos保存規(guī)則,然后通過(guò)定時(shí)拉取Nacos數(shù)據(jù)來(lái)獲取規(guī)則配置,可以做到動(dòng)態(tài)實(shí)時(shí)的刷新規(guī)則
    2023-02-02

最新評(píng)論

福海县| 盐津县| 鹤山市| 新昌县| 榕江县| 南安市| 乐业县| 集贤县| 游戏| 大荔县| 会理县| 沅江市| 武汉市| 称多县| 会同县| 子洲县| 赤壁市| 云阳县| 夹江县| 平原县| 德阳市| 自治县| 凤山县| 楚雄市| 贺州市| 福安市| 临武县| 进贤县| 康定县| 诸暨市| 蛟河市| 英吉沙县| 克山县| 九龙县| 丹凤县| 康保县| 德化县| 宜良县| 黑龙江省| 商丘市| 进贤县|