1、@ModelAndAttribute注解
@ModelAndAttirbute注解可以添加在方法,参数上。
1.1 普通方法
当添加到普通方法上时,它会根据方法创建一个实体对象,mvc中称为Model,与Java Bean的概念差不多。方法的返回值必须是实体对象,方法的逻辑是创建实体对象的过程,方法的触发时机,是在每次调用handler方法之前触发。、
1.2 Handler方法
待完善
1.3 参数
当添加到参数上时,进行请求信息与handler方法参数的数据绑定过程。Handler参数获取请求信息的顺序如下:
- 从Model中获取,即@ModelAttribute标注的普通方法,它会返回实体对象
- 通过@SessionAttribute 获取Session中的信息,
- 从请求URI路径上获取
- 从参数对象默认的构造器中获取
- 从request的param参数中获取,并调用参数对象最匹配的构造器,(From the invocation of a “primary constructor” with arguments that match to Servlet request parameters)