Springmvc @SessionAttributes 的使用

@Controller
@RequestMapping(value="/login")
@SessionAttributes("userName")
public class LoginController {
    
    
    @RequestMapping(method=RequestMethod.POST)
    public ModelAndView validateDispacher(@RequestParam String id, @RequestParam String pass, ModelAndView mv)
    {
        mv.addObject("userName","testAndmin");
        mv.setViewName("admin/index");
        return mv;
        
    }
}

在controller上加入sessionAttributes的注解,然后在mv中也加入同样的, 这样就会把request中的userName放到session的级别.

在其他action中使用:

@Controller
@RequestMapping(value="/testSession")
@SessionAttributes("userName")
public class TestSessionController {
    
    @RequestMapping(method=RequestMethod.GET)
    public ModelAndView testSession(@ModelAttribute("userName") String userName,ModelAndView mv)
    {
        mv.setViewName("welcome");
        return mv;
    }
}

同样在controller上加入注解,然后在参数里加入ModelAttribute, 这样会从session中取出对应的参数放入request中.

这样在页面上就能使用${userName}取出session中的值了.

不过: Q :如果不需要通过action, 直接访问一个页面, 如何在该页面上使用session中的值呢?

原文地址:https://www.cnblogs.com/chenyao/p/3134187.html