SpringBoot多语言配置

时间:2016-09-04 12:43:47

标签: java spring-boot

我在SpringBoot应用程序中实现Multilingual,在完成以下配置之后我无法加载属性文件

文件夹名称

  

的src /主/资源/ I18N /消息

属性文件名

  

messages_us.properties

在应用程序主类

@Bean
public LocaleResolver localeResolver() {
 SessionLocaleResolver resolver = new SessionLocaleResolver();
 resolver.setDefaultLocale(Locale.US); 
 return resolver;
}

@Bean
public ResourceBundleMessageSource messageSource() {
 ResourceBundleMessageSource source = new ResourceBundleMessageSource();
 source.setBasenames("i18n/messages");
 source.setUseCodeAsDefaultMessage(true);
 return source;
}

在控制器

@RequestMapping("/msg")
       public String msg(@RequestHeader("Accept-Language") Locale locale){
          return messageSource.getMessage("msg",null,locale);
       }

标题

  

的Accept-Language:US

我得到了这个警告

  

[36mo.s.c.s.ResourceBundleMessageSource [0; 39m [2m:[0; 39m]   MessageSund找不到ResourceBundle [i18n / messages]:无法找到   捆绑基本名称i18n / messages,locale us

1 个答案:

答案 0 :(得分:2)

问题是你的目录结构。当您将基本名称指定为i18n/messages时,框架将查找i18n/messages_en.properties之类的文件。基本名称是目录AND基本文件名。

相关问题