前言
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
加载到的,而我又是怎么加载不到的。。。