ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
**1.@SessionAttributes,将Request域数据同步到Session域** ~~~ //将该类 交给Spring容器管理 @Controller @RequestMapping("/hello") //将Request域同步到session域 @SessionAttributes(value = {"name", "age", "sex","card","birthday"}) public class HelloController { ~~~ ~~~ //Request作用域 @RequestMapping("fun9") public String fun9(ModelAndView modelAndView, Model model, ModelMap modelMap, Map map,HttpServletRequest request){ modelAndView.addObject("name","tom"); //方式1 model.addAttribute("age",18); //方式2 modelMap.addAttribute("sex","男"); //方式三 map.put("card", "112233"); //方式四 request.setAttribute("birthday","1998/05/20");//方式5 return "/demo1"; } ~~~ 注:modelAndView 需要return request.setAttribute不同步 ***** **2.HttpSession 传值** ~~~ //Request作用域 @RequestMapping("fun9") public String fun9(ModelAndView modelAndView, Model model, ModelMap modelMap, Map map, HttpServletRequest request, HttpSession session){ modelAndView.addObject("name","tom"); //方式1 model.addAttribute("age",18); //方式2 modelMap.addAttribute("sex","男"); //方式三 map.put("card", "112233"); //方式四 request.setAttribute("birthday","1998/05/20");//方式5 session.setAttribute("name","王五"); return "/demo1"; } ~~~ ***** **3.问,@SessionAttributes和 HttpSession同时使用,哪个生效呢?** 答:@SessionAttributes生效 ***** **4.@SessionAttributes同步的session怎么清空?** ``` sessionStatus.setComplete(); ``` ***** **5.session的setAttribute怎么清空** session.setAttribute("card","王五"); //重新设置session呢? session.removeAttribute("card"); ~~~ **6.@SessionAttribute 和 @SessionAttributes** @SessionAttribute 读session里面的属性 @SessionAttributes 写 session