第十三章、数据绑定
13.1 数据绑定介绍
Spring MVC根据客户端请求参数的不同,将请求消息中的信息以一定的方式转换并绑定到控制器类的方法参数中。这种将请求消息数据和后台方法参数建立连接的过程就是Spring MVC中的数据绑定。
数据绑定过程中,Spring MVC框架会通过数据绑定组件(DataBinder)将请求参数串的内容进行类型转换,然后将转换后的值赋给控制器中方法的形参,这样后台。
- Spring MVC 将 ServletRequest对象传递给 DataBinder
- 将处理方法的入参对象传递给 DataBinder
- 将DataBinder 调用 ConversionService组件进行数据类型转换、数据格式化等工作,并将ServletRequest对象中的消息填充到参数对象中。
- 调用Validator组件对已经绑定了请求消息数据的参数对象进行数据合法性校验。
- 校验完成后生成数据绑定结果 BindingResult对象 Spring MVC会将BindingResult对象中的内容赋给处理方法的相应参数。
13.2 简单数据绑定
请求参数比较简单,直接使用Spring MVC提供的默认参数类型进行数据绑定
- HttpServletRequest 通过request对象获取请求信息
- HttpServletResponse 通过response处理响应消息
- HttpSession 通过Session对象得到session中存储的对象
- Model / ModelMap Model是一个接口 ModelMap是一个接口实现 作用是将model数据填充到request域
前端请求中的参数名和后台控制器类方法中的形参名不一样,这样就会导致后台无法正确绑定并接收到前端请求的参数,
@RequestParam
为此Spring MVC提供了@RequestParam注解进行间接数据绑定。
属性 | 说明 |
---|---|
value | name属性的别名,参数的名字,如果只使用value属性可以省略value属性 |
name | 指定请求头绑定的名称 |
required | 指定参数是否必须,默认是true,表示请求中一定要有相应的参数 |
defaultValue | 默认值,表示如果请求中没有同名参数时的默认值 |