1.修饰方法
① 该注解修饰的方法会在目标方法调用之前调用
② 该注解修饰的方法可以和目标方法一样使用@RequestParam注解,以及Map
2. 修饰参数
①把参数放进request域中,键是注解的value属性值,值是参数对象
②注意:若方法入参处参数适合表单对应的java bean,则该参数默认加上了@ModelAttribute注解,且value的属性值是目标参数的类型的第一个字母小写。
③ 获取java bean的流程(根据ModelAttribute注解的value属性值查找的)
先从隐含 的Map中去获取对应的对象,若有这直接返回,传给目标方法的目标参数。如果没有,则检查是否需要从session域中获取,若有,则从session中去获取,获取到就传给目标方法的目标参数,否则抛出一个异常。若不需要从session中取,且Map中也没有,这根据反射创建一个对象传给目标方法的目标参数,同时放到Map中