SpringMVC作用域傳值的幾種方式
阿新 • • 發佈:2018-12-17
index.jsp頁面:
request:${requestScope.req}<br/>
session:${sessionScope.session }<br/>
sessionParam:${sessionScope.sessionParam }<br/>
application:${applicationScope.application }<hr/>
map:${map }<hr/>
model:${model }<hr/>
ModelAndView:${mav }
控制器:
//1、使用原生servlet @RequestMapping("demo1") public String demo1(HttpServletRequest req,HttpSession sessionParam){ //request作用域 req.setAttribute("req","request的值"); //session作用域 HttpSession session = req.getSession(); session.setAttribute("session", "session的值"); sessionParam.setAttribute("sessionParam", "sessionParam得值"); //application作用域 ServletContext application = req.getServletContext(); application.setAttribute("application", "application的值"); return "/index.jsp"; } //2、使用map集合 @RequestMapping("demo2") public String demo2(Map<String, Object> map){ map.put("map","map的值"); return "/index.jsp"; } //3、使用model介面 @RequestMapping("demo3") public String demo3(Model model){ model.addAttribute("model", "model的值"); return "/index.jsp"; } //4、使用ModelAndView類 @RequestMapping("demo4") public ModelAndView demo4(){ ModelAndView mav = new ModelAndView("/index.jsp"); mav.addObject("mav", "ModelAndView的值"); return mav; }
執行效果圖:
1、使用原生servlet
在HanlderMethod引數中新增作用域物件
2、使用map集合
2.1 把map中的內容放入request作用域中
2.2 spring會對map集合通過BindingAwareModelMap進行例項化
3、使用model介面
把內容放入request作用域中