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 は、Web ページでは ??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]]
ここに何が欠けていますか?