【问题标题】:JSF Local config not workingJSF 本地配置不起作用
【发布时间】: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 文件:

由于某种原因,我无法让它工作,请不要标记为重复,因为我已经用这些进行了验证:

  1. this
  2. and this
  3. also this
  4. etc ...

我的配置与我过去使用的完全相同,但是.. 没有任何效果,我什至尝试将本地设置为默认语言环境:

<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 吗?

标签: java jsf jsf-2 locale


【解决方案1】:

选择“文件”选项卡,然后将文件放入文件夹中

src -> main -> 资源(如果它不存在则创建它)。

返回项目选项卡,它们应该出现在

“其他来源” -> src/main/resources -> 默认包。

文件选项卡:

项目选项卡:

我也会删除包名(或者说,我没有尝试过)。

【讨论】:

    【解决方案2】:

    你检查过你的战争文件吗?可能是maven构建没有将您的属性文件放在所需的位置,因为它从资源文件夹中获取属性,因此请尝试将包结构放在资源文件夹中并再次构建。maven文件夹结构是 src ---主要 |-java |-资源 |- 网页应用

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-01-31
      • 2016-04-22
      • 2013-11-08
      • 1970-01-01
      • 2013-07-01
      • 1970-01-01
      • 2011-07-02
      相关资源
      最近更新 更多