公司5.0框架中,大量使用了@ModelAttribute 注解,在此详解一下:
@ModelAttribute 注解使用有两种方法:
一种是注解标记在方法上,一种是@ModelAttribute标记在参数前
标记在方法上
当一个请求到达这个controller时,会先执行@ModelAttribute的方法,如果有多个@ModelAttribute的方法,按序执行,之后才会执行真正的那个方法。这里可以理解为@ModelAttribute的方法,是用于初始化。
@ModelAttribute标记在参数前
标记在参数前,代表着参数从form表单或url中获取。但是因为spring mvc会自动匹配前台页面传来的name值和后台controller的方法中的参数,如果名称相同,会自动匹配。话句话说,其实这个注解用于标记参数的话,可以省略,不标记也可以匹配到值