Spring验证无法找到消息

时间:2013-05-09 15:59:49

标签: spring spring-mvc internationalization

我在SpringMVC中遇到验证问题,找不到我的错误信息...
如果在我的 messages.properties 中配置了No message found under code 'empty' for locale 'en_GB'.,我会收到错误消息:

我在servlet的spring上下文中配置了它:

<beans:bean id="messageSource"
    class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
    <beans:property name="basename">
            <beans:value>WEB-INF/classes/messages</beans:value>
    </beans:property>
</beans:bean>

在我的项目中,该文件位于 src / main / resources / messages.properties 下,它是:

empty.user.password=Il campo password non può essere lasciato vuoto
empty.user.username=Il campo username non può essere lasciato vuoto
unique.user.username=L''username {0} è già usato
empty=Il campo non può essere vuoto

然后我有一个验证器:

@Override
public void validate(Object target, Errors errors) {
    final User user = (User) target;
    ValidationUtils.rejectIfEmptyOrWhitespace(errors, "username", "empty");
    ValidationUtils.rejectIfEmptyOrWhitespace(errors, "password", "empty");
    if (userRepository.findByUsername(user.getUsername()) != null){
        errors.rejectValue("username", "unique", new Object[]{user.getUsername()}, "The username already exists");
    }
}

在我的JSP中:

<form:errors path="*" cssClass="alert error" element="div" />

我无法弄清楚可能出现什么问题......

更新: 我注意到在Eclipse中的Tomcat中部署应用程序它可以工作......当我使用带有jetty:runtomcat:run

的maven执行它时它有问题

1 个答案:

答案 0 :(得分:0)

您是否检查过您的messages.prop文件是否已在类目录

下复制

HTH