1. 程式人生 > >@ModelAttribute註解Controller方法的入參

@ModelAttribute註解Controller方法的入參

有兩種用法,分別是:

(1)從model中獲取

    @Controller
    public class HelloWorldController {

        @ModelAttribute("user")
        public User addAccount() {
           return new User("jz","123");
        }

        @RequestMapping(value = "/helloWorld")
        public String helloWorld(@ModelAttribute("user") User user) {
           user.setUserName("jizhou");
           return "helloWorld";
        }
    }

在這個例子裡,@ModelAttribute("user") 申明引數user的值來源於Model中key=user的屬性值。

(2)從Form表單或URL引數中獲取(實際上,不做@ModelAttribute註解也能拿到user物件

    @Controller
    public class HelloWorldController {

        @RequestMapping(value = "/helloWorld")
        public String helloWorld(@ModelAttribute User user) {
           return "helloWorld";
        }
    }

在這個例子裡,@ModelAttribute申明引數user的值來源於Form表單提交或URL引數。

注意:這時候,這個User類一定要有沒有引數的建構函式。