4

我在 WEB-INF/i18n 目录下有两个文件:

  • 应用程序属性
  • 消息属性

我已经正确配置了我的 ReloadableResourceBundleMessageSource bean,如下所示(spring mvc):

<bean class="org.springframework.context.support.ReloadableResourceBundleMessageSource" id="messageSource" p:basenames="WEB-INF/i18n/messages,WEB-INF/i18n/application"
        p:fallbackToSystemLocale="false"/>

然而我从 Spring mvc 得到这个:

2012-09-03 02:59:45,911 [http-bio-8080-exec-4] DEBUG org.springframework.context.support.ReloadableResourceBundleMessageSource - Loading properties [application.properties]
2012-09-03 02:59:45,912 [http-bio-8080-exec-4] DEBUG org.springframework.context.support.ReloadableResourceBundleMessageSource - No properties file found for [WEB-INF/i18n/application_fr] - neither plain properties nor XML
2012-09-03 02:59:45,912 [http-bio-8080-exec-4] DEBUG org.springframework.context.support.ReloadableResourceBundleMessageSource - Loading properties [messages.properties]
2012-09-03 02:59:45,912 [http-bio-8080-exec-4] DEBUG org.springframework.context.support.ReloadableResourceBundleMessageSource - No properties file found for [WEB-INF/i18n/messages_fr] - neither plain properties nor XML

有人可以请教吗?我可以将属性文件移动到类路径并相应地更改我的配置,但我宁愿了解发生了什么。

4

1 回答 1

1

在日志消息中它说:application_fr

注意_fr。这意味着它试图寻找 application.properties (application_fr.properties) 的法语版本。如果它找不到法国属性,它应该回退到默认值(application.properties),所以你的道具应该仍然可以找到。它寻找法语道具的原因与您应用程序中某处的语言环境设置有关。可能来自浏览器、JVM、应用程序。

您可以尝试添加以下内容,以强制语言环境为英语:

<bean class="org.springframework.web.servlet.i18n.FixedLocaleResolver" p:defaultLocale="en"/>   
于 2012-09-04T20:21:06.633 回答