Spring MVC中的@SessionAttributes注解

@SessionAttributes注解用于:将响应方法中处理请求时添加的与该注解匹配的数据添加到session中。

1、该注解只能应用在类上
2、这种添加方式在Map的put方法、Model和ModelMap的addAttribute方法或ModelAndView的addObject方法中有效。
3、@SessionAttributes值:可以通过value或names注解属性指定哪些属性放到Session中,还可以通过type注解属性进行指定。

例:

@Controller
@SessionAttributes(value= {"userinfo"})//也可以写为types={UserInfo.class}
public class UserInfoController{
	
	@RequestMapping("/userinfo/toView.do")
	public String toView(Model model) {
		UserInfo userinfo = new UserInfo();
		userinfo.setId("123456");
		userinfo.setName("小王");
		model.addAttribute("userinfo",userinfo);
		/*此方法中的"userinfo"与SessionAttributes注解中的值相匹配
		 在执行完这个响应方法后,session中也会有此userinfo*/
		return "userinfo/ok";
	}
	/*ModelMap的方式
		@RequestMapping("/userinfo/toView.do")
		public String toView(ModelMap modelmap) {
			UserInfo userinfo = new UserInfo();
			userinfo.setId("123456");
			userinfo.setName("小王");
			modelmap.addAttribute("userinfo",userinfo);
			return "userinfo/ok";
		}
	*/
	/*map的方式
		@RequestMapping("/userinfo/toView.do")
		public String toView(Map<String,Object> map) {
			UserInfo userinfo = new UserInfo();
			userinfo.setId("123456");
			userinfo.setName("小王");
			map.put("userinfo",userinfo);
			return "userinfo/ok";
		}
	*/
	/*ModelAndView的方式
		@RequestMapping("/userinfo/toView.do")
		public ModelAndView toView() {
			ModelAndView mv = new ModelAndView("userinfo/ok");
			UserInfo userinfo = new UserInfo();
			userinfo.setId("123456");
			userinfo.setName("小王");
			mv.addObject("userinfo",userinfo);
			return mv;
		}
	*/
	
	//测试页面响应
	@RequestMapping("/userinfo/toTest.do")
	public String toTest() {
		return "userinfo/test";
	}
}

测试:
主页面:
在这里插入图片描述
添加数据请求响应页面:
在这里插入图片描述
session测试页面:
在这里插入图片描述
测试结果:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值