Spring MVC中数据绑定流程和原理

Spring MVC不支持表单日期字符串和日期类型之间的转换

Spring MVC数据绑定的流程Spring MVC通过反射 机制对目标处理方法进行解析)

1、Spring MVCServletRequest对象及目标方法的入参实例传递给WebDataBinderFactory实例,以创建DataBinder实例对象。

2、DataBinder(核心)调用Spring MVC上下文中的ConversionService组件进行数据类型转换、数据格式化工作。将ServletRequest中的请求信息填充到入参对象中。

3、调用Validator组件对已经绑定了请求消息的入参对象进行数据合法校验,并将最终结果绑定在BindingData对象中

4、Spring MVC抽取BindingResult中的入参对象和校验错误对象,将他们赋给处理方法的响应入参

自定义数据绑定

一、自定义转换器类=====>在配置文件中注入ConversionServiceFactoryBean,并在converters中组装自定义转换器类=====>mvc:annotation-driven中注册自定义conversion-service转换器

)为覆盖并不是追加

扫描二维码关注公众号,回复: 2613118 查看本文章

二、创建父类Controller 编写方法实现@InitBinder注解 用于自定义绑定,(也可以在本页面编写方法,则该自定义转换器只针对本控制器生效)

1、可以对WebDataBinder对象进行初始化。WebDataBinderDataBinder的子类,用于完成由表单字段到JavaBean属性的绑定

2InitBander方法不能有返回值,声明为void

3InitBander方法参数通常是WebDataBinder

猜你喜欢

转载自www.cnblogs.com/1581327699dyk/p/9440640.html