0

我正在尝试使我的servlet项目国际化,因此我将所有MessageBundle文件都com.project.i18n打包:

$ ls src/main/java/com/project/i18n/
Internationalization.java     MessagesBundle_fr.properties  MessagesBundle.properties     MessagesBundle_us.properties

当我通过一切正常运行tomcatmvn tomcat:run并且我得到正确的语言时;但是如果将project.war文件部署到tomcat/webapps目录然后本地化消息不再起作用,当我检查包路径时tomcat/webapps没有MessageBundle文件:

 $ ls webapps/ROOT/WEB-INF/classes/com/project/i18n/
   Internationalization.class

这是index.jsp

<fmt:setLocale value="fr" />
<fmt:setBundle basename="com.project.i18n.MessagesBundle" />
...
<fmt:message key="home.welcome" />
..

任何帮助如何解决这个问题?tnx。

4

3 回答 3

0

国际化文件应该在/src/main/resources文件夹中。请参阅以下内容。

http://docs.oracle.com/javaee/6/tutorial/doc/bnaxw.html

如何使 Java Web 应用程序国际化?

于 2013-09-09T11:25:08.007 回答
0

难道 MessageBundle 文件必须转到 src/main/resources 而不是 src/main/java 吗?

你的 sourceDirectory 配置有过滤器吗?

于 2013-09-09T11:05:29.583 回答
0

我将MessageBundle文件移动到src/main/resources并修改了setBundle索引页面,如下所示:

<fmt:setBundle basename="MessagesBundle" />

现在它起作用了。

于 2013-09-09T12:05:49.253 回答