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

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

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

一、設置HttpServletRequest request獲取

index頁面通過form標簽傳入?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>

控制層代碼

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

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

這是因為,我們在web.xml文件初始化的時候就會將我們的類交給DispatcherServlet管理, 這樣在主頁面中調(diào)用方法時我們DispatcherServlet底層時封裝的serclet

所以我們只需要輸入?yún)?shù)HttpServletRequest request 就可以自動獲得一個servlet對象 (但是從這里我們也可以看出,我們并不會經(jīng)常使用這種方式獲取參數(shù),因為既然DispatcherServlet為我們封裝了servlet、 那我們沒必要使用原生的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";
    }

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

index頁面通過form標簽傳入?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注解的三個屬性;value,required,defaultvalue
  • value;設置和形參綁定的請求參數(shù)的名字
  • required;設置是否必須傳輸value所對應的請求參數(shù)
  • 默認值為ture,表示value所對應的請求參數(shù)必須傳輸,否則頁面報錯;400
  • 若設置為false,則表示value所對應的請求參數(shù)不是必須傳輸,若未傳輸,則形參值為null
  • defaultvalue;設置當沒有傳輸value所對應的請求參數(shù)時,為形參設置默認值,此時和required屬性無關
@RequestMapping("/test/params1")
    public String GetParams2(
            //required =true;這里表示必須傳入?yún)?shù)username
            //value = "username" 將username的值賦值給 String name
            //defaultValue = "home";如果傳入了username沒有賦值則給他默認值home,若有值則不管
            @RequestParam(value = "username",required =true,defaultValue = "home")String name, String password){
        System.out.println("username="+name+" password="+password);
        return "success";
    }

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

index頁面通過form標簽傳入?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ù)的名字一一對應

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ù)

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

}

四、@RequestHeader,@CookieValue

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

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

相關文章

  • Java之通過OutputStream寫入文件與文件復制問題

    Java之通過OutputStream寫入文件與文件復制問題

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

    maven項目打包如何去掉不需要的module

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

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

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

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

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

    解決 java: 程序包com.baomidou.mybatisplus.annotation不存在

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

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

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

    詳談Java8新特性泛型的類型推導

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

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

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

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

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

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

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

最新評論

宣汉县| 营口市| 张家口市| 普陀区| 工布江达县| 天峻县| 垣曲县| 皮山县| 江西省| 镇平县| 上思县| 西安市| 年辖:市辖区| 烟台市| 广州市| 竹山县| 兴业县| 鹤峰县| 烟台市| 吉首市| 威宁| 嵊州市| 四川省| 平昌县| 绥德县| 盐津县| 百色市| 池州市| 嘉荫县| 永昌县| 屏南县| 西青区| 萝北县| 宜都市| 湘潭市| 正镶白旗| 六枝特区| 三亚市| 综艺| 赤峰市| 贵阳市|