1、@ModelAttribute放在方法之上,在当前Control内的所有方法映射多个URL的请求,都会执行该方法
@ModelAttribute
public void itemsCommon(HttpServletRequest request,Model model){
model.addAttribute("common", "common111");
}
2、如果在请求链接中没有参数abc,塞入到model中的参数值为null
@ModelAttribute
public void itemsCommon(HttpServletRequest request,Model model,String abc){
model.addAttribute("common", abc);
}
3、和上述方法的 model.addAttribute("common", abc);效果相同
@ModelAttribute(value="common")
public String itemsCommon(HttpServletRequest request,Model model,String abc){
return abc;
}
4、如果不设置value值,则attribute的key值隐式设置为类型(首字母小写),如下理解为 model.addAttribute("string", abc)
如果返回类型为model,则为model类名的小写,如model.addAttribute("persion", abc)
@ModelAttribute
public String itemsCommon(HttpServletRequest request,Model model,String abc){
return abc;
}
5、@ModelAttribute和@RequestMapping可以同时放在一个方法上
6、@ModelAttribute可以放在参数前面
@RequestMapping("/testCommon")
public String itemsCommon(@ModelAttribute String abc){
return abc;
}