<mvc:annotation-driven>

 <mvc:annotation-driven>会自动注册RequestMappingHandlerMapping、

                 RaquestMappeingHandlerAdapter、

                ExceptionHandlerExceptionResolver

提供以下支持:

  支持使用ConversionService实例对表单参数进行类型转换

  支持使用@NumberFormatannotattion、@DateTimeFormat注解完成数据类型的格式化

  支持使用@Valid注解对JavaBean实例进行JSR 303 验证

  支持使用@RequestBody和@ResponseBody注解

数据校验

1、配置校验

  1、使用JSR 303验证标准

  2、加入hibernate validator 验证框架

  3、在SpringMVC配置文件中添加<mvc:annotation-driven/>

  4、需要在bean的属性上添加对应的注解

  5、在目标方法bean类型属性的前面添加@valid注解

2、配置错误跳转页面

验证出错的错误信息保存在BindingResult中 可以通过查看BindingResult判断是否出错,定制跳转页面

注意:需要校验的Bean对象和其他绑定结果对象或错误对象是成对出现的,他们之间不允许声明其他的入参

 3、错误信息回显

  页面显示所有错误信息:

  <form:errors path="*"></form:errors>

  也可以将form加在对应字段后面显示具体的错误

   <form:errors path="lastName"></form:errors>

4、错误消息定制

  1、编写国际化文件   i18n.properties

  文件中为键值对:

      键为 :校验注解类名(前缀).modelAttribute.属性名.属性类型名

        pattern.user.password

        NotEmpty.employee.lastName

     注:

        required做前缀:@RequiredParam("param1")标注了一个入参,但是该参数不存在

        typeMismatch做前缀:数据绑定时类型不匹配问题

        methodInvocation:springMVC在调用处理方法是发生了错误

      值为 :消息内容

  2、配置国际化文件

      SpringMVC.xml中加入:

1 <bean id="messageSource"     class="org.springframework.context.supportResourceBundleMessageSource">
2 <property name="basename" value="i18n"></property>
3 </bean>

 

原文地址:https://www.cnblogs.com/the-wang/p/8108567.html