我的 Spring Web 应用程序中有消息属性文件。以下是相关配置:
@Bean
public MessageSource messageSource() {
ReloadableResourceBundleMessageSource messageSource = new ReloadableResourceBundleMessageSource();
messageSource.setBasenames("classpath:messages");
messageSource.setUseCodeAsDefaultMessage(true);
messageSource.setDefaultEncoding("UTF-8");
messageSource.setCacheSeconds(0);
return messageSource;
}
属性中的消息不会显示,而是带有语言后缀的键。例如,属性文件中的键 nav.welcome 在网页上显示为 ??nav.welcome_en?? 我使用 Gradlew 来运行我的应用程序。我在类路径的根目录上看到了 messages.properties 文件。
C:\Users\vic\workspace-sts\myapp\build\tmp\tomcatRunWar\work\Tomcat\localhost\_\WEB-INF\classes>
打开 org.springframework.web 日志级别后,我看到以下相关日志消息:
DEBUG: AnnotationConfigWebApplicationContext:649 - Unable to locate MessageSource with name 'messageSource': using default [org.springframework.context.support.DelegatingMessageSource@2a83e48a]
和
DEBUG: AnnotationConfigWebApplicationContext:639 - Using MessageSource [org.springframework.context.support.ResourceBundleMessageSource: basenames=[classpath:messages]]
这里缺少什么?