【SpringMVC使用Hibernate提供的validate校验器对页面请求的参数进行后台校验】
页面向controller请求的参数是否合法,可以在js中校验,但是对于安全性能要求较高的数据需要在controller层再次校验,校验的步骤:
1. 导入jar包:
2. 在springmvc.xml中配置校验器
(1)配置校验器(写上校验器的提供方,这里使用hibernate,也可以使用其他的校验器,原理都一样)
(2)配置错误信息的资源文件(因为要将错误信息输出到页面,希望把所有的错误信息都放到一个资源文件中统一输出)
这里的资源文件内容缓存时间是120秒,过了这个时间就要重新加载
3.在根目录下创建CustomValidationMessage.properties文件
4.将校验器注入到处理器适配器中(把校验器的bean的id写到这里即可)
5.因为在校验之前,需要将参数绑定到pojo,所以要在需要参数校验的对应的POJO中添加校验规则
6.在controller中接收校验的错误信息(在需要校验的POJO前添加@Validated,其后添加BindingResult bindingResult,用这个对象来接收校验的错误信息)
7.将错误信息添加到页面(放到Model属性中即可)
jsp页面:
========================================分组校验========================================
分组校验其实就是使用标识性接口,用于给校验分组贴上一个接口标签(代表校验分组),然后在pojo中注明使用的是哪个接口标签。
以上只写了一个校验分组ValidGroup1,可以根据需要,将校验规则进行归类分组,因此会有ValidGroup2、、、、、很多个校验分组,
这样就把不同的校验规则进行了分组,细粒度更加小,在controller中更加准确地使用校验规则