org.springframework.web.bind.annotation.SessionAttributes注释允许我们有选择的指定Model中的哪些属性转存到HttpSession对象当中。
@SessionAttribute注释可指定如下表所示的属性:
属性 | 类型 | 是否必要 | 说明 |
names | String[] | 否 | Model中属性的名称,既存储在HttpSession当中的属性名称 |
value
|
String[]
|
否 | names属性别名 |
types | Class<?>[] | 否 | 指示参数是否必须绑定 |
@SessionAttributes注释只能声明在类上,而不能声明在方法上。
package org.fkit.controller; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.SessionAttributes; @Controller @SessionAttributes(value= "usrename",types=String.class) public class SessionAttributeController { @RequestMapping(value="/login",method=RequestMethod.GET) public String login() { return "login"; } @RequestMapping(value="/login",method=RequestMethod.POST) public String loginCommit( @RequestParam("username") String username, Model model ) { model.addAttribute("username", username); return "loginCommit"; } @RequestMapping(value="/loginIndex") public String loginIndex() { return "loginCommit2"; } }