我有一个奇怪的问题,使用Spring MVC消息包:正在提取错误的消息包文件。我已经仔细检查过了,在我的Java控制器类中,我有fr_FR语言环境,但Spring标记(类中的appContext.getMessage(code, null, locale);
)也会将英文消息返回给我!Spring MVC - 提取错误的消息包
这是怎么回事?
我正在开发Liferay Portal的Portlet。让我告诉你我的代码部分:
在applicationContext.xml中:
<bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
<property name="basenames">
<list>
<value>messages</value>
</list>
</property>
</bean>
在我的JSP我一直在寻找这样的代码:
...
<spring:message code="button.help"/>
...
和路径我的消息是这样的:
开发:
- /src/main/webapp/WEB-INF/classes/messages.properties(英语,默认)
- /src/main/webapp/WEB-INF/classes/messages_fr.properties
部署在Tomcat的
- /webapps/MY_APP/WEB-INF/classes/messages.properties
- /WEBA pps/MY_APP/WEB-INF/classes/messages_fr.properties
这个问题可以有3个原因:未加载法国属性文件,或由于某种原因标签使用英语的地方,或frensh消息文件不包含密钥。 – Ralph
最奇怪的是,只有这个特定的portlet本地化不起作用。每个其他的portlet工作得很好。两者都有相同的密钥 - 没有一个丢失。 – Queequeg
我不熟悉Portlet,但是您配置了本地拦截器吗?春天Referrence章15.6 http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/htmlsingle/spring-framework-reference.html#mvc-localeresolver – Ralph