SpringMVC常用注释:@SessionAttributes注释

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";
    }
}