我正在尝试将我的应用程序国际化,并且已经搜索了很多关于这方面的教程。我总是卡在这一点上,因为无论我做什么配置,它们都不起作用。
早些时候,我在parsing exception上发布了一篇文章。解决了这个解析器异常之后,现在应用程序找不到包了。
我通过faces-config.xml以及支持的语言环境安排和注册了Core包。
尽管我已经搜索了现有的解决方案,但它们似乎都不适用于我的情况。
那东西在哪呢?它必须在根文件夹中吗?是配置错误吗?我的faces config中有一个打字错误(我不这么认为,我重做了很多次)。
配置如下:
<?xml version="1.0" encoding="UTF-8"?>
<faces-config xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd"
version="2.2">
<application>
<!-- <message-bundle>messages_en_US</message-bundle> -->
<!-- <message-bundle>messages_es</message-bundle> -->
<!-- <message-bundle>messages_pt_BR</message-bundle> -->
<locale-config>
<default-locale>en_US</default-locale>
<supported-locale>pt_BR</supported-locale>
<supported-locale>es</supported-locale>
</locale-config>
<resource-bundle>
<base-name>com.tfduque.fieldassist.interface</base-name>
<var>msg</var>
</resource-bundle>
</application>
</faces-config>文件夹/包组织:

堆栈跟踪(FULL:https://pastebin.com/69iJrvuX):
类型异常报告
消息找不到基本名称为com.tfduque.fieldassist.interface_es、区域设置为pt_BR的包
说明服务器遇到意外情况,无法完成请求。
Exception
javax.servlet.ServletException: Can't find bundle for base name com.tfduque.fieldassist.interface_es, locale pt_BR
javax.faces.webapp.FacesServlet.service(FacesServlet.java:659)
org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)发布于 2018-05-18 21:13:10
通过删除文件的完整路径解决了这个问题-仅文件名似乎就足够了:
<?xml version="1.0" encoding="UTF-8"?>
<faces-config xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_2.xsd"
version="2.2">
<application>
<!-- <message-bundle>messages_en_US</message-bundle> -->
<!-- <message-bundle>messages_es</message-bundle> -->
<!-- <message-bundle>messages_pt_BR</message-bundle> -->
<locale-config>
<default-locale>en_US</default-locale>
<supported-locale>pt_BR</supported-locale>
<supported-locale>es</supported-locale>
</locale-config>
<!--- Change the path ("com.tfduque.fieldassist.interface") to the filename ("interface") here -->
<resource-bundle>
<base-name>interface</base-name>
<var>msg</var>
</resource-bundle>
</application>
</faces-config>https://stackoverflow.com/questions/50411860
复制相似问题