1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

        springmvc請求參數(shù)獲取的幾種方法

        共 3509字,需瀏覽 8分鐘

         ·

        2020-09-22 15:00


        1、直接把表單的參數(shù)寫在Controller相應(yīng)的方法的形參中,適用于get方式提交,不適用于post方式提交。


        /**
        ?????* 1.直接把表單的參數(shù)寫在Controller相應(yīng)的方法的形參中
        ??????* @param username
        ?????* @param password
        ?????* @return
        ?????*/

        ????@RequestMapping("/addUser1")
        ????public?String?addUser1(String?username,String?password) {
        ????????System.out.println("username is:"+username);
        ????????System.out.println("password is:"+password);
        ????????return?"demo/index";
        ????}


        url形式:http://localhost/SSMDemo/demo/addUser1?username=lixiaoxi&password=111111?提交的參數(shù)需要和Controller方法中的入?yún)⒚Q一致。


        2、通過HttpServletRequest接收,post方式和get方式都可以。


        /**
        ?????* 2、通過HttpServletRequest接收
        ??????* @param request
        ?????* @return
        ?????*/

        ????@RequestMapping("/addUser2")
        ????public?String?addUser2(HttpServletRequest request) {
        ????????String?username=request.getParameter("username");
        ????????String?password=request.getParameter("password");
        ????????System.out.println("username is:"+username);
        ????????System.out.println("password is:"+password);
        ????????return?"demo/index";
        ????}


        3、通過一個bean來接收,post方式和get方式都可以。


        (1)建立一個和表單中參數(shù)對應(yīng)的bean


        package demo.model;

        public?class?UserModel {
        ????
        ????private?String?username;
        ????private?String?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;
        ????}
        ????
        }


        (2)用這個bean來封裝接收的參數(shù)


        /**
        ?????* 3、通過一個bean來接收
        ??????* @param user
        ?????* @return
        ?????*/

        ????@RequestMapping("/addUser3")
        ????public?String addUser3(UserModel user) {
        ????????System.out.println("username is:"+user.getUsername());
        ????????System.out.println("password is:"+user.getPassword());
        ????????return?"demo/index";
        ????}


        4、通過@PathVariable獲取路徑中的參數(shù)


        /**
        ?????* 4、通過@PathVariable獲取路徑中的參數(shù)
        ??????* @param username
        ?????* @param password
        ?????* @return
        ?????*/

        ????@RequestMapping(value="/addUser4/{username}/{password}",method=RequestMethod.GET)public?String?addUser4(@PathVariable?String?username,@PathVariable?String?password) {
        ????????System.out.println("username is:"+username);
        ????????System.out.println("password is:"+password);
        ????????return?"demo/index";
        ????}


        例如,訪問http://localhost/SSMDemo/demo/addUser4/lixiaoxi/111111?路徑時,則自動將URL中模板變量{username}和{password}綁定到通過@PathVariable注解的同名參數(shù)上,即入?yún)⒑髐sername=lixiaoxi、password=111111。


        5、使用@ModelAttribute注解獲取POST請求的FORM表單數(shù)據(jù)

        Jsp表單如下:


        "<%=request.getContextPath()%>/demo/addUser5"?method="post">
        ?????用戶名: <input?type="text"?name="username"/><br/>
        ?????密 碼: <input?type="password"?name="password"/><br/>
        ?????<input?type="submit"?value="提交"/>
        ?????<input?type="reset"?value="重置"/>


        Java Controller如下:


        /**
        ?????* 5、使用@ModelAttribute注解獲取POST請求的FORM表單數(shù)據(jù)
        ??????* @param user
        ?????* @return
        ?????*/

        ????@RequestMapping(value="/addUser5",method=RequestMethod.POST)
        ????public?String addUser5(@ModelAttribute("user") UserModel user) {
        ????????System.out.println("username is:"+user.getUsername());
        ????????System.out.println("password is:"+user.getPassword());
        ????????return?"demo/index";
        ????}


        6、用注解@RequestParam綁定請求參數(shù)到方法入?yún)?/strong>


        當(dāng)請求參數(shù)username不存在時會有異常發(fā)生,可以通過設(shè)置屬性required=false解決,例如: @RequestParam(value="username", required=false)


        /**
        ?????* 6、用注解@RequestParam綁定請求參數(shù)到方法入?yún)?br mpa-from-tpl="t">??????* @param username
        ?????* @param password
        ?????* @return
        ?????*/

        ????@RequestMapping(value="/addUser6",method=RequestMethod.GET)
        ????public?String?addUser6(@RequestParam("username") String?username,@RequestParam("password") String?password) {
        ????????System.out.println("username is:"+username);
        ????????System.out.println("password is:"+password);
        ????????return?"demo/index";
        ????}


        原文鏈接:https://www.cnblogs.com/xiaoxi/p/5695783.html



        瀏覽 33
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

          <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            免费观看AAA成人片 | 日韩大黄片 | 人人看人人草 | 艹逼美女| 别揉我胸啊嗯~用力啊 | 破處女一級片免費看 | 操逼二区 | 欧美日韩在线视频免费观看 | 日韩精品一级无码毛片视频免费看 | 女人口述交换啪啪高潮过程 |