Spring MVC:在区域设置 'en_us' 的代码 'label.description' 下找不到消息

Spring MVC: No message found under code 'label.description' for locale 'en_us'

我正在尝试在我的项目中实现国际化,但是我无法解析我的 BaseName,到目前为止这是我的 AppConfiguration class 方法:

@Bean
public MessageSource messageSource() {
    ReloadableResourceBundleMessageSource messageSource = new           ReloadableResourceBundleMessageSource();`
    messageSource.setBasename("messages/");
    messageSource.setDefaultEncoding("UTF-8");
    return messageSource;
}

@Bean
public LocaleResolver localeResolver() {
    CookieLocaleResolver resolver = new CookieLocaleResolver();
    resolver.setDefaultLocale(new Locale("en_US"));
    resolver.setCookieName("myLocaleCookie");
    resolver.setCookieMaxAge(4800);
    return resolver;
}

@Override
public void addInterceptors(InterceptorRegistry registry) {
    LocaleChangeInterceptor interceptor = new LocaleChangeInterceptor();
    interceptor.setParamName("mylocale");
    registry.addInterceptor(interceptor);
}

这是我的项目结构: Project Structure

知道我做错了什么吗?我也试图将我的 baseName 更改为 classpath:messages 但没有。谢谢。

试试这个:

@Bean
public MessageSource messageSource() {
    ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
    messageSource.setBasename("classpath:/messages/messages");
    messageSource.setDefaultEncoding("UTF-8");
    return messageSource;

}

并将您的 en_us.properties 重命名为 messages_en_us.properties

只需将此行添加到您的 application.properties

spring.messages.basename=验证