Spring mvc 中属性的共享

Spring mvc 中属性的共享

在spring mvc中通过session实现属性的共享有两种方法

  • 1.HttpSession
  • 2.@SessionAttribute

使用方法

2.@SessionAttributes

  1. 使用@SessionAttribute(“xxx”)标注想要存入Session中的属性,用以提示框架哪些属性需要存放在Session
  2. 在具体的Controller中将“xxx”这个属性加入到Model中
  3. 在其他的Controller中通过@ModelAttribute(“xxx”)使用存入Session中的属性(确保两个属性名称,类型一致,Spring mvc框架会自动将Session中的属性注入)

使用格式

@SessionAttribute(“xxx”)表示需要存入的字段名字
@SessionAttribute(type=xxx.class)表示需要存储xxx类
@SessionAttribute({“xxx”,“yyy”})表示需要存入多个字段名字
@SessionAttribute(type={xxx.class,yyy.class},value{“xxx”,”yyy”})表示需要存入多个类

注意事项

1.Session的清除操作

  1. SessionStatus.setComplete()
    这个方法并不是立即将Session中的数据清空,而是在此次请求过后再对Session进行修改
  2. Session.invalidate()
    立即清空

2.对应关系

  1. @ModelAttribute ———-》request
  2. @SessionAttribute ———-》session

你可能感兴趣的:(spring,mvc,session)