【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中更加准确地使用校验规则 

 

posted @ 2017-06-18 10:58  半生戎马,共话桑麻、  阅读(914)  评论(0)    收藏  举报
levels of contents