SpringMVC 註解(七) @ModelAttribute註解,設定model檢視屬性
阿新 • • 發佈:2018-12-11
SpringMVC @ModelAttribute
-
注意的地方
當類中定義了@ModelAttribute 註解的方法(定義在方法上),此時所以的@RequestMapping 定義的方法在執行前都會執行被@ModelAttribute定義的方法,如果此類對應多個檢視,要謹慎使用,防止值混亂
-
作用:
1.在有@RequestMapping 註解的類中,可以註解方法的引數設定Model屬性暴露給web檢視
2.也可以註解方法的返回值設定Model屬性,暴露給web檢視
-
例子
1.設定註解返回值的:將值注入model 屬性中
// 第一種情況 @ModelAttribute public void testModel(Model model,@RequestParam String type) { model.addAttribute("type",type); }
第一種情況的變形
//第一種情況的變形, //此時key 值為所放入的引數型別的名稱全小寫形式 @ModelAttribute public void testModel2(Model model,@RequestParam String type) { model.addAttribute(type); } //或 //同上屬變形一樣,key也是引數型別的小寫形式 @ModelAttribute public String testModel3(Model model,@RequestParam String type) { return type; } //變形的key 實在很不方便,而且多個相同型別值如果設定進入 // Model會重複,可以在方法上的@ModelAttribute註解中新增 // value屬性指定key值
2.設定在方法引數宣告上,從model 中取對應 的key值
@RequestMapping("test2")
public String test2(@ModelAttribute("type") String type) {
return "../index";
}
參考: https://blog.csdn.net/lovesomnus/article/details/78873089