数据绑定介绍
在执行程序时,Spring MVC会根据客户端请求参数的不同,将请求消息中的信息以一定的方式转换并绑定到控制器类的方法参数中。这种将请求消息数据与后台方法参数建立连接的过程就是Spring MVC中的数据绑定。
在数据绑定过程中,Spring MVC框架会通过数据绑定组件(DataBinder)将请求参数串的内容进行类型转换,然后将转换后的值赋给控制器类中方法的形参,这样后台方法就可以正确绑定并获取客户端请求携带的参数了。整个数据绑定的过程如图1所示。
图1 Spring MVC数据绑定的过程
关于图13-1中信息处理过程的步骤描述如下:
(1)Spring MVC将ServletRequest对象传递给DataBinder;
(2)将处理方法的入参对象传递给DataBinder;
(3)DataBinder调用ConversionService组件进行数据类型转换、数据格式化等工作,并将ServletRequest对象中的消息填充到参数对象中;
(4)调用Validator组件对已经绑定了请求消息数据的参数对象进行数据合法性校验;
(5)校验完成后会生成数据绑定结果BindingResult对象,Spring MVC会将BindingResult对象中的内容赋给处理方法的相应参数。
根据客户端请求参数类型和个数的不同,我们将Spring MVC中的数据绑定主要分为简单数据绑定和复杂数据绑定,接下来的几个小节中,就对这两种类型数据绑定进行详细讲解。