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




posted @ 2022-12-07 18:38  diligently  阅读(68)  评论(0)    收藏  举报