#java #jsf-2
#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:
На основе исключения язык, который ищет сервер, является de_CH
или не соответствует этому de
. Если это тоже не удастся, тогда он будет искать язык «по умолчанию», но что это такое, зависит от настроек вашей системы. Так что он может даже никогда не перейти messages_en.properties
. Вы могли бы предоставить messages.properties
вместо этого (без какого-либо индикатора локали) значение по умолчанию, если это то, что вы хотите.
Также прочитайте здесь полное объяснение того, как работает разрешение локали: http://java.sun.com/developer/technicalArticles/Intl/ResourceBundles /
Комментарии:
1. Да, я забыл указать messages.properties для значений по умолчанию… Спасибо