• 【坑】springMvc 信息校验,读取不到错误配置信息的问题



    前言

    springMvc 的一大利器,validation 检验,通过注解,可以帮我们完成校验,很是顺手。

    终极偷懒检验,使用配置文件,将错误提示信息配置到配置文件里面,便于在修改错误信息,直接在文件里面修改,而非去每个注解里面找。

    但是就是这么个小东西,有个问题,足足困扰了很久,那就是总是读取不到错误配置信息,

     @NotEmpty(message = "{user.name.empty}", groups = {First.class})
        private String userName;
    

    总是直接将 user.name.empty 直接返回,而不是去读取错误信息的配置文件,当初在学校学的时候,就没搞定,不了了之了;


    ResourceBundleMessageSource

    后来经过好久好久的百度,还是没解决,

    对于配置文件的加载,大家包括我在学的时候,都是使用 ReloadableResourceBundleMessageSource 类;

    都是这样配置的:

    <!-- 校验错误信息配置文件 -->
    <bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
        <!-- 资源文件名 -->
        <property name="basenames">
            <list>
                <value>classpath:CustomValidationMessage</value>
            </list>
        </property>
        <!-- 资源文件编码格式 -->
        <property name="fileEncodings" value="utf-8"/>
        <!-- 对资源文件内容缓存时间,单位秒 -->
        <property name="cacheSeconds" value="120"/>
    

    谁能想到这个类有问题呢,反正大家都没问题。

    最后将加载类换成 ResourceBundleMessageSource ,错误配置文件被加载了。。。


    后记

    至今仍然不知道大家是怎么使用 ReloadableResourceBundleMessageSource 加载到的,而我又是怎么加载不到的。。。

  • 相关阅读:
    c++/oop友元
    c++/oop引用/动态内存/内联函数/函数重载
    CS61A python字符串/常见错误/*args
    c++/oop类和对象/构造函数
    C++/oop指针
    CS61A pyhton高阶函数/lambda
    CS61A PythonBool/if/循环
    c++/oop对象指针/this指针/静态成员/封闭类
    案例实战:B站视频、淘宝购物 短链接跳转
    案例实战:微信抢红包
  • 原文地址:https://www.cnblogs.com/young-youth/p/11665606.html
Copyright © 2020-2023  润新知