• <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>

     

  • 相关阅读:
    ORM取数据很简单!是吗?
    谨慎使用反射机制
    AxeSlide软件项目梳理
    Uncaught Error: Cannot find module 'strip-ansi'
    vue 子组件data属性为啥必须是一个函数
    new FormData()
    computed methods watch filters
    关于template标签用法总结(含vue中的用法总结)
    区分http请求状态码来理解缓存(协商缓存和强制缓存)
    canvas绘制--圆角多边形
  • 原文地址:https://www.cnblogs.com/the-wang/p/8108567.html
Copyright © 2020-2023  润新知