SpringMVC作用域傳值的方式
阿新 • • 發佈:2018-12-15
使用原生Servlet
在HandlerMethod引數中新增作用域物件
@RequestMapping("demo") public String demo1(HttpServletRequest req, HttpSession sessionParam) { req.setAttribute("req", "req的值"); HttpSession session = req.getSession(); session.setAttribute("session", "session的值"); sessionParam.setAttribute("sessionParam", "sessionParam的值"); ServletContext application = req.getServletContext(); application.setAttribute("application", "application的值"); return "index2"; }
jsp
request ${requestScope.req }<br/>
session ${sessionScope.session }<br/>
sessionParam ${sessionScope.sessionParam }<br/>
application ${applicationScope.application }<br/>
結果
request req的值
session session的值
sessionParam sessionParam的值
application application的值
當用demo2跳轉同樣跳轉到index2時
@RequestMapping("demo2")
public String demo12() {
return "index2";
}
輸出
request
session session的值
sessionParam sessionParam的值
application application的值
可以看到request的值已經沒有了
Map
@RequestMapping("demo3") public String demo3(Map<String,Object> map) { map.put("map", "map的值"); return "index2"; }
jsp
map ${map }
輸出
map map的值
SpringMVC的Model介面
@RequestMapping("demo4")
public String demo4(Model model) {
model.addAttribute("model", "model的值");
return "index2";
}
jsp
model ${model }
輸出
model model的值
ModelAndView
@RequestMapping("demo5")
public ModelAndView demo5() {
ModelAndView mav = new ModelAndView("index2");
mav.addObject("mav","mav的值");
return mav;
}
jsp
mav ${requestScope.mav }<br/>
輸出
mav mav的值