Spring ModelAttribute註解,主要有三個做用:
1. 註解在參數上。
綁定請求參數到命令對象,並把命令對象添加到Model,用於視圖頁面展現。
@RequestMapping("/save")
public String save(@ModelAttribute(「bwf」) Company bwf) {
service.save(bwf);
return "result";
}
它的做用是將該綁定對象以「bwf」爲key,添加Model對象中,供視圖頁面展現使用。頁面中可使用${bwf.name}來獲取綁定對象的屬性。
2. 註解在普通方法上(非RequestMapping註解的方法)。
@ModelAttribute("bwf")
public User addCompany(Company bwf) {
return new Company("1","博爲峯");
}
假設此方法是寫在某個Controller內,那麼執行該Controller內帶有@RequestMapping註解的方法以前,都會先執行此addCompany方法,而且在model對象中將添加bwf對象。
3. 註解在@RequestMapping 方法返回值上。
綁定該方法的返回值到Model對象,用於視圖頁面展現時使用。@ModelAttribute 註解的返回值會覆蓋@RequestMapping 註解方法中的同名命令對象
app