“无法找到基本名称消息的包”错误

时间:2011-10-25 08:39:45

标签: java jsf-2

在运行我的应用程序时出现以下错误:

javax.el.ELException: /view/doi/common/navigation.xhtml: Can't find bundle for base name messages, locale de_CH
at com.sun.faces.facelets.compiler.TextInstruction.write(TextInstruction.java:90)
at com.sun.faces.facelets.compiler.UIInstructions.encodeBegin(UIInstructions.java:82)
at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:302)
at com.sun.faces.renderkit.html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:105)
at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)

在我的faces-config中我指定了这个:

<resource-bundle>
  <base-name>messages</base-name>
  <var>msg</var>
</resource-bundle>

我有一个目录src \ web \ resources \ msg,文件为messages_en.propeties。

我错过了什么?

1 个答案:

答案 0 :(得分:4)

根据例外情况,服务器正在查找的区域设置为de_CH或失败,de。如果那也失败了,那么它会寻找“默认”语言,但这取决于你的系统设置。所以它甚至可能永远不会去messages_en.properties。您可以提供messages.properties代替(没有任何区域设置指示符)作为默认值,如果这是您想要的。

此处还可阅读有关区域设置解析如何工作的完整说明:http://java.sun.com/developer/technicalArticles/Intl/ResourceBundles/