不是从属性文件中挑选弹簧MVC验证错误(Spring-mvc validation error no

2019-10-19 07:16发布

在JSR303 Bean验证和除了一个问题其做工精细用Spring MVC的构建,消息不是从属性文件采摘。

我的Web应用程序正在使用Maven创建,这是目前的结构

Main
      -java
      -resources
         -bundles
            -message.properties
      -webapp

XML文件

<beans:bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
  <beans:property name="basenames">
    <beans:list>
    <beans:value>bundles/messages</beans:value>
    <beans:value>bundles/shipping</beans:value>
    <beans:value>bundles/payment</beans:value> 
     </beans:list>
  </beans:property>
 </beans:bean>

- 验证器

<beans:bean id="validator"   
   class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
  <beans:property name="validationMessageSource" ref="messageSource"/>
</beans:bean>

注释驱动

<annotation-driven>
  <message-converters>
            <beans:bean class="org.springframework.http.converter.ByteArrayHttpMessageConverter">
                <beans:property name="supportedMediaTypes">
                    <beans:list>
                        <beans:value>image/jpeg</beans:value>
                        <beans:value>image/gif</beans:value>
                        <beans:value>image/png</beans:value>
                    </beans:list>
                </beans:property>
            </beans:bean>
        </message-converters>
</annotation-driven>

Java文件

@NotEmpty(message="{registration.firstName.invalid}")
  public String getFirstName() {
   return firstName;
}

一些在我的JSP页面中,我得到这些消息如何This field is required ,不知道什么是我发出的数据类是具有以下结构

PersistableCustomer extends SecuredCustomer
SecuredCustomer extends CustomerEntity

即使传递消息源验证后,它不是从自定义属性文件拿起消息。

Answer 1:

我瞎猜这里...通常JSR-303消息插补器采取的消息ValidationMessages.properties 。 如果你希望你的验证使用Spring的消息源,您需要配置这种方式:

<bean id="validator" class="org.springframework.validation.beanvalidation.LocalValidatorFactoryBean">
    <property name="validationMessageSource" ref="messageSource" />
</bean>

<mvc:annotation-driven validator="validator" />


文章来源: Spring-mvc validation error not being picked from property file