在项目过程中难免会使用session信息, 在使用springmvc开发的过程中就遇到了这个情况, 怎么使用springmvc取得session呢? 接下来看办法.
这里使用两种取得方式, 第一种. 使用servlet的方式.
@RequestMapping(value = "manager/login.do",method = RequestMethod.GET) public ModelAndView login(ManagerModel managerModel,HttpSession httpSession){ ManagerModel manager = managerServiceImpl.getManager(managerModel); if(manager!=null){ manager.setPassword(""); httpSession.setAttribute("manager", manager); return new ModelAndView(new RedirectView("../admin/main.jsp")); }else{ return new ModelAndView(new RedirectView("../admin/login.jsp")); } }
使用方式和设置方式一样. 只需要在方法里写上HttpSession httpSession 就可以取值了. 例子:
@RequestMapping(value = "manager/logout.do",method = RequestMethod.GET) public String logout(HttpSession httpSession){ httpSession.getAttribute("manager"); return "success"; }
除了这种方式外, 还可以使用另一种方式.
第二种方式使用SessionAttributes
@Controller @SessionAttributes("manager") public class ManagerController { @Resource private ManagerService managerServiceImpl; @RequestMapping(value = "manager/login.do",method = RequestMethod.GET) public ModelAndView login(ManagerModel managerModel,ModelMap model){ ManagerModel manager = managerServiceImpl.getManager(managerModel); if(manager!=null){ manager.setPassword(""); model.addAttribute("manager", manager); return new ModelAndView(new RedirectView("../admin/main.jsp")); }else{ return new ModelAndView(new RedirectView("../admin/login.jsp")); } } @RequestMapping(value = "manager/logout.do",method = RequestMethod.GET) public String logout(@ModelAttribute("manager") ManagerModel managerModel){ return "success"; } }
除了这两种方式以外可能还可以使用其他的方式, 但是现在不去考究了, 去写代码了.
发表评论
沙发空缺中,还不快抢~