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

                ??一站式輕松地調用各大LLM模型接口,支持GPT4、智譜、豆包、星火、月之暗面及文生圖、文生視頻 廣告
                [TOC] # `@ModelAttribute` 被@ModelAttribute注釋的方法會在此controller每個方法執行前被執行,因此對于一個controller映射多個URL的用法來說,要謹慎使用 ## 注解void返回值的方法 ~~~ @Controller public class HelloWorldController { @ModelAttribute public void populateModel(@RequestParam String abc, Model model) { model.addAttribute("attributeName", abc); } @RequestMapping(value = "/helloWorld") public String helloWorld() { return "helloWorld"; } } ~~~ 這個例子,在獲得請求/helloWorld 后,populateModel方法在helloWorld方法之前先被調用,它把請求參數(/helloWorld?abc=text)加入到一個名為attributeName的model屬性中,在它執行后helloWorld被調用,返回視圖名helloWorld和model已由@ModelAttribute方法生產好了。 這個例子中model屬性名稱和model屬性對象有model.addAttribute()實現,不過前提是要在方法中加入一個Model類型的參數。 也可以這樣 ~~~ @ModelAttribute public void testModeelAttribute(Model model){ model.addAttribute("username", "lzj"); } ~~~ ## 注解方法返回對象 ~~~ @Controller public class MyModelAttribute { @ModelAttribute /*1.把請求鏈接中的name屬性的值賦給username變量,請求鏈接中的age屬性賦給age變量; 2.返回類型為對象,相當于把返回的對象放到了請求模型中,返回的對象相當于模型中的值,鍵相當于@ModelAttribute注解標注的方法的首字母小寫,即testModeelAttribute; 即model.addAttribute("testModeelAttribute", user); */ public User testModeelAttribute(@RequestParam("name") String username, @RequestParam("age") Integer age){ User user = new User(); user.setUsername(username); user.setAge(age); return user; } @RequestMapping("/user") /*模型中已經放入屬性和值,model.addAttribute("testModeelAttribute", user);然后通過@ModelAttribute("testModeelAttribute")標注在屬性上,表示把模型中的testModeelAttribute鍵對應的value值賦給了usr。*/ public String User(@ModelAttribute("testModeelAttribute") User usr, Model model){ model.addAttribute("user", usr); return "user"; } } ~~~ User類 ~~~ public class User { private String username; private int age; ~~~ --- **指定存的名字** 如果 **@ModelAttribute標注方法時,指定放在模型中的鍵值** `@ModelAttribute`標注的testModeelAttribute()方法默認把鍵為testModeelAttribute,value值為user的鍵值對放在了model模型中。但是我們可以顯示指定放在模型中的鍵的名字。 **當@ModelAttribute屬性標識在方法的參數上時,表示從請求域的模型中讀取屬性。** ~~~ /*相當于把model.addAttribute("userAttribute", user)放在了請求模型中*/ @ModelAttribute("userAttribute") public User testModeelAttribute(@RequestParam("name") String username, @RequestParam("age") Integer age){ User user = new User(); user.setUsername(username); user.setAge(age); return user; } @RequestMapping("/user") /*把請求模型中userAttribute鍵對應的值賦給usr變量中*/ public String User(@ModelAttribute("userAttribute") User usr, Model model){ usr.setAge(25); model.addAttribute("user", usr); return "user"; } ~~~ ## @ModelAttribute和@RequestMapping同時標注在同一個方法上 **當兩個注解同時標注在一個方法上時,該方法返回的內容不再被視圖解析器解析為視圖了,而是把放回的內容放到模型的屬性中,視圖還是繼續返回@RequestMapping映射的那個視圖** ~~~ @Controller public class MyModelAttribute { @RequestMapping("/login") @ModelAttribute("name") public String login(@RequestParam(value="username", required=false) String username){ System.out.println("--username-- : " + username); return username; } } ~~~ 當login()方法響應請求后,執行方法,然后把方法的返回值username放到請求模型的name屬性中,相當于`model.addAttribute("name", username)` 當請求方法執行完后,會返回@RequestMapping映射的那個視圖 # @InitBinder和WebBindingInitializer @InitBinder用于在@Controller中標注于方法,表示為當前控制器注冊一個屬性編輯器或者其他,只對當前的Controller有效 WebBindingInitializer:實現WebBindingInitializer,重寫initBinder注冊的屬性編輯器是全局的屬性編輯器,對所有的Controller都有效 由 @InitBinder 標識的方法,可以對 WebDataBinder 對象進行初始化。WebDataBinder 是 DataBinder 的子類,用于完成由表單字段到 JavaBean 屬性的綁定。 * @InitBinder方法不能有返回值,它必須聲明為void。 * @InitBinder方法的參數通常是是 WebDataBinder。
                  <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>

                              哎呀哎呀视频在线观看