java培训技术处理模型数据之 SessionAttributes 注解

处理模型数据之 SessionAttributes 注解【了解】

  • 若希望在多个请求之间共用某个模型属性数据,则可以在控制器类上标注一个 @SessionAttributes, Spring MVC 将在模型中对应的属性暂存到 HttpSession 中。
  • @SessionAttributes 除了可以通过属性名指定需要放到会话中的属性外,还可以通过模型属性的对象类型指定哪些模型属性需要放到会话中

例如:

  • @SessionAttributes(types=User.class) 会将隐含模型中所有类型为class 的属性添加到会话中。
  • @SessionAttributes(value={“user1”, “user2”})
  • @SessionAttributes(types={User.class, Dept.class})
  • @SessionAttributes(value={“user1”, “user2”}, types={Dept.class}) 

1 @SessionAttributes 源码

2 实验代码

@Controller

//@SessionAttributes(“user”)

@SessionAttributes(value={“user”},types={String.class})

public class SpringMVCController {

/**

 * @SessionAttributes

 *  除了可以通过属性名指定需要放到会话中的属性外(实际上是通过value指定key)

 *  还可以通过模型属性的对象类型指定哪些模型属性需要放到会话中(实际上是通过types指定类型)

 * 注意:只能放在类的上面,不能修饰方法

 */

@RequestMapping(“/testSessionAttributes”)

public String testSessionAttributes(Map<String,Object> map){

User user = new User(“Tom”,”123″,”tom@atguigu.com”,22);                

map.put(“user”, user);

map.put(“school”, “atguigu”); 

//默认是被存放到request 域,如果设置了@SessionAttribute注解,就同时存放到session域中

return “success”;

}

}

<!–测试 @SessionAttribute 将数据存放到session域中 –>

<a href=”testSessionAttributes”>testSessionAttributes</a>

request user : ${requestScope.user } <br><br>

session user : ${sessionScope.user } <br><br>

request school : ${requestScope.school } <br><br>

session school : ${sessionScope.school } <br><br>

想要了解跟多关于java培训课程内容欢迎关注尚硅谷java培训,尚硅谷除了这些技术文章外还有免费的高质量java培训课程视频供广大学员下载学习。 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值