@CookieValue获取Cookie信息,使用Servlet API作为入参,处理模型数据

@RequestMapping("/testCookieValue")
	public String testCookieValue(@CookieValue(value="JSESSIONID") String id) {
		System.out.println(id);
		return "success";
	}

获取url的JSESSIONID,但注意的是:id的类型应为String类型,否则报错

使用Servlet API作为入参

spring mvc 底层有大量公众业务去处理

在有些情况,spring MVC 需要使用Servlert API,spring mvc支持九种类型servlet对象

HttpServletRequest:请求

HttpServletResponse:响应

HttpSession:会话

java.security.Frinclpal:授权

Locale:本地信息

InputStream:输出流

OutputStream:输入流

Reader:输出流

Writer:输入流

@RequestMapping("/testservletapi")
	public String testservletapi(HttpServletRequest request,HttpServletResponse reponse) {
		System.out.println(request);
		System.out.println(reponse);
		return "success";	
	}

处理模型数据

数据模型的定义:http://blog.sina.com.cn/s/blog_76baa3d101010r7o.html

Spring MVC提供了以下几种途径输出模型数据:

-ModelAndView:处理方法返回值类型为ModelAndView时,方法体即可通过该对象添加模型数据

1.控制器处理方法的返回值如果为ModelAndView,则既包含视图信息,也包含模型数据信息。

2.方法的内部,创建ModelAndView对象:

设置视图:

               setView(view view);

               setViewName(String);

添加模型数据:

                 addObject(String,Object);

                  addObjects(Map map);

3.ModelAndView当中的模型数据放到请求范围中:

控制器方法中的返回值类型要注意

@RequestMapping("/testModelAndView")
	public ModelAndView testModelAndView() {
		ModelAndView mv = new ModelAndView();
		//ModelAndView 模型数据的值是放到Request范围当中
		mv.setViewName("success");
		mv.addObject("name", "tom");
		return mv;
	}

 success.jsp中的获取方法:

  • EL表达式获取
<body>
    ${param.test}
</body>
<body>
success page,,,,,,,
${requestScope.name }
</body>

运行结果:

-Map及Model:入参

org.springframework.ui.Model,org.springframework.ui.ModelMap或java.uti.Map时,处理方法返回时,Map中的数据会自动添加到模型中

-@SessionAttributes:模型中的某个属性暂存到HttpSession中,以便多个请求之间可以共享这个属性

-@ModelAttribute:方法入参标注该注解后,入参对象就会放到数据模型中。     

接下来会学习下面几种模型数据的方法       

            

猜你喜欢

转载自my.oschina.net/u/3829307/blog/1799281