【问题标题】:Spring validation can't find messageSpring验证找不到消息
【发布时间】:2013-05-09 15:59:48
【问题描述】:

我在 SpringMVC 中的验证有问题,它找不到我的错误消息...
我有一个错误提示:No message found under code 'empty' for locale 'en_GB'. 如果它在我的 messages.properties 中进行了配置。

我已经在 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 中它可以工作......当我使用 maven 和 jetty:runtomcat:run 执行它时出现问题

【问题讨论】:

    标签: spring spring-mvc internationalization


    【解决方案1】:

    您是否检查过您的 messages.prop 文件是否被复制到 classes 目录下

    HTH

    【讨论】:

    • 我没有检查它,但我认为这不是问题,因为它适用于其他消息......
    猜你喜欢
    • 2015-04-22
    • 1970-01-01
    • 2016-10-09
    • 1970-01-01
    • 2012-10-30
    • 2015-05-10
    • 2015-03-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多