1. 程式人生 > >SpringMVC作用域傳值的方式

SpringMVC作用域傳值的方式

使用原生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的值