springMvc处理请求参数;处理模型数据
一、处理请求参数
1.@RequestParam ***
1).使用@RequestParam将请求中的请求参数映射到方法的入参上.
2).使用@RequestParam需要注意的问题:
a.如果请求参数名与目标方法的入参名一致,则可以不通过RequestParam指定.但是建议不省略.
b.使用RequestParam标注的入参要求必须要能从请求参数中获取到对应的请求参数.
c.可以使用required=true/false来指定是否必须要从请求参数中获取对应的请求参数.
d.默认情况下,如果从请求参数中获取不到对应的参数,SpringMVC会给入参赋null值.
如果入参定义的是基本类型的,则接收不了null值.
>. 使用包装类型来定义入参
>. 使用defaultValue来设置默认值.替换null值.
2.@RequestHeader
a.使用@RequestHeader将请求头信息映射到目标方法的入参中.3.@CookieValue
a.使用@CookieValue将请求信息中的Cookie信息映射到目标方法的入参中.4.POJO ***
a.将请求参数映射到POJO的属性上.
>.请求参数名与属性名一致。
>.在java类中提供set方法。
>.支持级联属性.
5.原生的ServletAPI
a.SpringMVC支持在目标方法的入参中定义原生的Servlet相关的对象,常用的request response session等.
二、处理模型数据
1.ModelAndView
a.将目标方法的返回值声明为ModelAndView类型的.
b.在目标方法中直接通过new操作创建ModelAndView对象
c.使用setViewName()设置视图信息
d.使用addObject(k,v)设置模型数据
e.最终在目标方法中将ModelAndView对象返回,SpringMVC最终会把ModelAndview中的模型数据
存放到request域对象,再通过转发的方式去往ModelAndView中设置的视图.
2.Map/Model
a.在目标方法的入参中定义Map或者是Model类型的参数.
b.SpringMVC会在调用目标方法的时候传入BindingAwareModelMap对象.
c.不管目标方法的返回值是String还是ModelAndView,SpringMVC调用完目标方法之后,都会
返回一个ModelAndView对象. 详见 DispatcherServlet的945行.
3.@SessionAttributes
a.该注解只能加到类上.
b.该注解的两个属性:
value: 通过指定模型数据key的方式来确定将那些模型数据存放到session中.
types: 通过指定模型数据的类型的方式来确定将那些东西模型数据存放到session中.
4.@ModelAttribute
本文来自博客园,作者:diligently,转载请注明原文链接:https://www.cnblogs.com/luo12828-foxmail/p/16964170.html

浙公网安备 33010602011771号