SpringMVC----处理模型数据----@SessionAttributes(12)

1.若希望在多个请求之间共用某个模型属性数据,则可以在控制器类上标注一个 @SessionAttributes,

   Spring MVC 将在模型中对应的属性暂存到 HttpSession 中。

2.@SessionAttributes 除了可以通过属性名指定需要放到会话中的属性外,还可以通过模型属性的对象类型指定哪些

    模型属性需要放到会话中

3.注意@SessionAttributes注解只能添加到类上。

4.1 jsp请求

<a href="springMVC/testSessionAttributes">testSessionAttributes</a>

4.2 添加@SessionAttributes注解,目标方法。(关于@SessionAttributes注解的参数问题,value参数所代表的意思是,如果

                                                                             在返回的模型数据中有"user"这个属性的话,就把“user”这个属性键对应的值

                                                                             放入session域对象中。types:如果 在返回的模型数据中有"User.class"这个

                                                                             类型的话,就把该类型对应的值放入session域对象中)

@SessionAttributes(value="user",types=User.class)
@Controller
@RequestMapping("/springMVC")
public class SpringMVCTest {
	private static final String SUCCESS = "success";

	@RequestMapping("/testSessionAttributes")
	public String testSessionAttributes(Map<String,Object> map){
		User user = new User("Tom", "555", "ggg@com", 15);
		map.put("user", user);
		return SUCCESS;
	}
}

4.3 @SessionAttributes注解使用了该注解后,会把模型数据放到request域对象的同时,放入session域对象中。

<body>
         request user:${requestScope.user} 
          <br>
          sessioon user:${sessionScope.user} 
</body>

猜你喜欢

转载自blog.csdn.net/lsh15846393847/article/details/89875020
今日推荐