<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # Spring 中的`RequestParam`注解 > 原文: [https://javatutorial.net/requestparam-annotation-in-spring](https://javatutorial.net/requestparam-annotation-in-spring) 當我們想在控制器類中讀取 Web 請求參數時,將使用`RequestParam`注解。 換句話說,前端正在向我們發送一些帶有鍵的參數(例如,從填充的表單中)。 ![java-featured-image](https://img.kancloud.cn/05/3e/053ee0bb59842d92359246c98f815e0c_780x330.jpg) ### 用例 假設我們有一個表單,目的是向數據庫中添加一個雇員。 每位員工將具有: 1. ID 2. 名 3. 姓 因此,我們的表單如下所示(假設 ID 不會自動遞增): ![Employee Form Example](https://img.kancloud.cn/9d/0b/9d0b8ac629b8383e6101f162787c6699_386x181.jpg) 員工表單示例 想象一下,上面看起來丑陋的表單中填充了以下信息: ``` Id=1 First Name=Joe Last Name=Doe ``` 現在假設我們有以下代碼: ```java @Controller @RequestMapping("/employee/*") public class EmployeeController { @GetMapping("/fill") public String fill() { return "employeeForm"; } @PostMapping("/fill/process") public String processForm(ModelMap model, @RequestParam("id") int id, @RequestParam("First Name") String firstName, @RequestParam("Last Name") String lastName) { model.addAttribute("id", id); model.addAttribute("firstName", firstName); model.addAttribute("lastName", lastName); return "index"; } } ``` 我們只是將 Web 請求參數綁定到方法參數(`id`,`firstName`,`lastName`)。 但是,為了使此示例正常工作,我們需要從前端接收相應的密鑰,否則它們將為`null`。 在上面的示例代碼中,我們為請求參數提供了值,例如`@RequestParam("id")`。 但是,如果目標變量名稱與參數名稱相同,則可以忽略該值。 因此,我們可以將上述代碼片段進行如下操作: ```java @Controller @RequestMapping("/employee/*") public class EmployeeController { @GetMapping("/fill") public String fill() { return "employeeForm"; } @PostMapping("/fill/process") public String processForm(ModelMap model, @RequestParam int id, @RequestParam("First Name") String firstName, @RequestParam("Last Name") String lastName) { model.addAttribute("id", id); model.addAttribute("firstName", firstName); model.addAttribute("lastName", lastName); return "index"; } } ``` 它之所以起作用,是因為`id`與我們作為方法參數給出的名稱相同,實際上是`id`。 此外,我們無法對其他參數執行相同的操作,因為`First Name`與`firstName`不同。 #### `@RequestParam`的必需元素 `RequestPara`還支持`required`元素,該元素幾乎完成了所要表達的內容–它指定是否需要特定的參數。 對于我們的示例,我們可以說名字不是必需的。 默認情況下,`requried`將設置為`true`。 ```java @Controller @RequestMapping("/employee/*") public class EmployeeController { @GetMapping("/fill") public String fill() { return "employeeForm"; } @PostMapping("/fill/process") public String processForm(ModelMap model, @RequestParam int id, @RequestParam(value = "First Name", requried=false) String firstName, @RequestParam("Last Name") String lastName) { model.addAttribute("id", id); model.addAttribute("lastName", lastName); return "index"; } } ``` 現在,`firstName`不是必需的參數,因此我們沒有將其添加到模型/地圖中。 #### `@RequestParam`還具有`defaultValue`元素 如果我們需要在表單中填寫一個值,但是我們并不真正在意那個值是什么,則可以將其設置為默認值,這樣,如果用戶沒有填寫它,它將只包含我們為它設置的任何內容。 請參閱以下代碼片段作為參考: ```java @Controller @RequestMapping("/employee/*") public class EmployeeController { @GetMapping("/fill") public String fill() { return "employeeForm"; } @PostMapping("/fill/process") public String processForm(ModelMap model, @RequestParam int id, @RequestParam(value = "First Name", requried=false) String firstName, @RequestParam(value = "Last Name", defaultValue="Doe") String lastName) { model.addAttribute("id", id); model.addAttribute("lastName", lastName); return "index"; } } ``` 現在,即使表單沒有完全填寫(用戶省略了姓氏字段),如果我們引用了`lastName`參數,也將在其中存儲`Doe`。 我們為什么要使用`defaultValue`元素的一個著名示例是日期。 假設我們具有與上面相同的形式,但是那里也有一個“日期”字段。 好吧,如果用戶/員工沒有在該字段中輸入任何內容,我們可以假設是今天,因此我們將今天的日期作為默認值輸入。 這只是許多例子中的一個。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看