SpringMVC 中模型数据处理中的@ModelAttribute 和@SessionAttributes使用细节

时间:2023-03-10 02:49:29
SpringMVC  中模型数据处理中的@ModelAttribute 和@SessionAttributes使用细节
  1. @ModelAttribute 运用在参数上,会将客户端传递过来的参数按名称注入到指定对象中,并且会将这个对象自动加入ModelMap中,便于View层使用(在方法中修改了入参值在view层得到的还是参数最先传过来的值,因为是先把参数绑定到模型中再执行方法体);
  2. @ModelAttribute运用在方法上,会在每一个@RequestMapping标注的方法前执行,如果有返回值,则自动将该返回值加入到ModelMap中;(只会执行一次)
  3. 用了@SessionAttributes后,当用到@ModelAttribute  绑定值到模型中时   会  优先从httpsession获取对应参数值,httpsession 中没有时才绑定参数值。 为了预防httpsession中中找不到对应属性,报HttpSessionRequiredException异常。可以在controller  中添加一个返回值为对应属性的方法,并在方法上面注解@ModelAttribute (“属性”)