@SessionAttributes除了可以通过属性名指定需要放到会话中
的属性外(实际上使用的是value属性值),还可以通过模型属性的对象类型
指定哪些模型属性需要放到会话中(实际上使用的是types属性值)。
注意:该注解只能放在类的上面。
后台代码:
@SessionAttributes(value = {"user"}, types = {String.class})
@Controller
@RequestMapping("/springmvc")
public class SpringMVCTest {
private static final String SUCCESS = "success";
/**
* @SessionAttributes除了可以通过属性名指定需要放到会话中
* 的属性外(实际上使用的是value属性值),还可以通过模型属性的对象类型
* 指定哪些模型属性需要放到会话中(实际上使用的是types属性值)。
*
* 注意:该注解只能放在类的上面。
* @param map
* @return
*/
@RequestMapping("/testSessionAttributes")
public String testSessionAttributes(Map<String, Object> map) {
User user = new User();
user.setUsername("tom");
user.setPassword("123");
user.setEmail("aa");
user.setAge(12);
map.put("user", user);
map.put("school", "jxufe");
return SUCCESS;
}
}
前台代码:
<a href="springmvc/testSessionAttributes">Test SessionAttributes</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>