MessageSource.getMessage始终返回默认消息

时间:2014-04-10 20:50:46

标签: java spring spring-mvc

由于某种原因,messageSource始终返回默认错误消息。这是我的配置。

/**
 * ReloadableResourceBundleMessageSource allows reloading of resource bundle contents without
 * a server restart.
 *
 * @return MessageSource
 */
@Bean
public MessageSource messageSource() {
    ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
    messageSource.setBasenames(new String[]{
            "/WEB-INF/messages/com/company/global/service/login/login_locale"
    });
    messageSource.setUseCodeAsDefaultMessage(true);
    messageSource.setDefaultEncoding("UTF-8");

    // # -1 : never reload, 0 always reload
    messageSource.setCacheSeconds(0);
    return messageSource;
}

我正在尝试使用MessageSource.getMessage(fieldError, locale)检索邮件。我得到的回复如下所示。

{
    "fieldErrorViews":[
        {
            "fieldName":"oldPassword",
            "message":"may not be empty"
        }
    ]
}

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

我将邮件属性文件移动到src/main/resources/com/company/global/service/login目录中,并将基本名称更改为claspath:com/company/global/service/login/login_locale。这解决了这个问题。