@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中的值呢?