SpringMVC从session存取值三种方法

1.从HttpSession取值

@Controller
@RequestMapping("/")
public class Hello{
    @RequestMapping("/test1")
    @ResponseBody
    public String test1(HttpSession session)
    {
        session.setAttribute("jt", "123");
        return "ok";
    }
    
    @RequestMapping("/test2")
    public String test1(HttpSession session)
    {
        return session.getAttribute("jt");
    }
}

可以向session中存取值

2.使用@SessionAttributes从session中存取值

3.通过@SessionAttribute从session中取值,它是将session对象中的值映射到参数中,直接使用就行,也可以映射为其他包装类型。

@Controller
@RequestMapping("/ok1")
@SessionAttributes("name")
public class Test2 {
	
	@RequestMapping("/test1")
	@ResponseBody
	public String test1(ModelMap model)
	{
		model.addAttribute("name", "gt");
		return "okok";
	}
	
	@RequestMapping("/test2")
	@ResponseBody
	public String test2(ModelMap model)
	{
		return model.get("name").toString();
	}

    //第三种,通过@SessionAttribute属性直接将session中的值映射为参数
        @RequestMapping("/test3")
	@ResponseBody
	public String test2(@SessionAttribute("name") String name)
	{
		return name;
	}
}

 

你可能感兴趣的:(Spring)