【发布时间】:2017-02-08 03:59:46
【问题描述】:
我之前在 JSF 应用程序中配置过 Locale,但由于某种原因,我不断收到以下信息:
java.util.MissingResourceException:找不到基本名称的捆绑包 com.cleanup.bundle.messages,语言环境
faces-config.xml
<application>
<resource-bundle>
<base-name>com.cleanup.bundle.messages</base-name>
<var>msg</var>
</resource-bundle>
<locale-config>
<default-locale>es</default-locale>
<supported-locale>en</supported-locale>
</locale-config>
</application>
.properties 文件:
由于某种原因,我无法让它工作,请不要标记为重复,因为我已经用这些进行了验证:
我的配置与我过去使用的完全相同,但是.. 没有任何效果,我什至尝试将本地设置为默认语言环境:
<f:view locale="#{languageBean.locale}">
像这样的豆子:
@Named(value = "languageBean")
@SessionScoped
public class LanguageBean implements Serializable {
private Locale locale;
@PostConstruct
public void init() {
locale = FacesContext.getCurrentInstance().getApplication().getDefaultLocale();
}
并且由于某种原因得到相同的MissingResourceException。
非常感谢任何帮助,谢谢。
【问题讨论】:
-
尝试删除
com.cleanup.,看看它是否有效??? -
@YagamiLight,我已经试过了:/
-
我不熟悉 Netbeans,但我看到您使用的是 Maven。没有 src/main/resources 文件夹吗?您应该将资源放在 Maven 项目中。也许这是 Netbeans 所说的“其他来源”?另见 a.o. stackoverflow.com/questions/13540907/…
-
您可以随时尝试调试的概念,看看实际发生了什么。在根据堆栈跟踪引发异常的类中设置断点应该不是那么困难。很容易做一个非常有教育意义的
-
你在 web.xml 中添加了 faces-confing 吗?