Java Spring MVC-获取错误的消息包
我在使用Spring MVC时遇到了一个奇怪的问题:获取了错误的消息包文件。我已经仔细检查过了,在我的Java控制器类中,我有fr\u fr区域设置,但是Spring标记(Java Spring MVC-获取错误的消息包,java,spring,jsp,liferay,portlet,Java,Spring,Jsp,Liferay,Portlet,我在使用Spring MVC时遇到了一个奇怪的问题:获取了错误的消息包文件。我已经仔细检查过了,在我的Java控制器类中,我有fr\u fr区域设置,但是Spring标记(appContext.getMessage(code,null,locale);在类中也会返回英语消息 发生了什么事 我正在为Liferay Portal开发portlet。让我向您展示我的部分代码: 在applicationContext.xml中: 信息 在我的JSP中,我有如下代码: 。。。 ... 我的邮件路径如
appContext.getMessage(code,null,locale);
在类中也会返回英语消息
发生了什么事
我正在为Liferay Portal开发portlet。让我向您展示我的部分代码:
在applicationContext.xml中:
信息
在我的JSP中,我有如下代码:
。。。
...
我的邮件路径如下所示:
发展:
- /src/main/webapp/WEB-INF/classes/messages.properties(英语,默认)
- /src/main/webapp/WEB-INF/classes/messages\u fr.properties
- /webapps/MY_APP/WEB-INF/classes/messages.properties
- /webapps/MY\u APP/WEB-INF/classes/messages\u fr.properties
Edit->Preferences->Content->Langauges
并使用上移或下移按钮将fr_fr作为首选项
这会使浏览器发送带有首选语言环境集的请求。您必须在applicationContext中安装拦截器,如
你也需要
在我项目的第一个JSP页面上,我选择了如下语言:
|
请告诉我这是否对你有帮助
另外,我的messages.*.properties文件位于源文件夹src/main/resources中,不在webapp中,我不知道这是否重要
p.p.S.此处提供有用的教程:
我还想补充一点,在xml的开头应该有如下内容:
这是必要的,以便识别前缀,如mvc。确保您拥有它。当我的本地化邮件文件的unicode字符不正确时,我也遇到了类似的问题 \uXXX表格) Java、Spring和Tomcat都没有写关于它的信息,根本没有反馈 修复文件后,所有的突然开始工作
首先,您必须确保liferay支持所需的区域设置。此外,您必须在portlet.xml中为每个portlet添加受支持的区域设置
portlet.xml
:
...
EN
fr
...
如果你错过了两者中的一个,那就行不通了。检查您是否也为此portlet添加了受支持的区域设置。但我已将其设置为法语。每一个可能的调试输出都会打印出我选择了一个fr\u fr语言环境(通过http请求)!如果删除messages.properties文件,会出现找不到消息的错误。我想您的属性文件名应该是messages\u fr\u fr.properties,而不是messages\u fr.properties。另外,您可以尝试配置区域设置解析程序吗?就像这里的最后一个答案一样。最奇怪的是,只有这个特定的portlet本地化不起作用。。其他每个portlet都可以正常工作…问题可能有三个原因:没有加载法语属性文件,或者由于某种原因标记使用英语本地,或者法语消息文件不包含密钥。最奇怪的是,只有这个特定的portlet本地化不起作用。。其他每个portlet都可以正常工作。两者都有相同的密钥-没有丢失。我不太了解Portlet,但是您是否配置了本地拦截器。Spring reference第15.6章property name=“basename”或basenames?它是basename,而不是basenames。