【问题标题】:Resource Bundle inheritance资源包继承
【发布时间】:2017-11-14 15:42:37
【问题描述】:

我正在尝试对资源包进行简单操作,我在 OCP 书中阅读了以下内容: “如果在最特定的包中没有匹配键,编译器将寻找更通用的”

我在每个属性文件下面都有这些属性文件及其内容:

Zoo_en_CA.properties
visitor=Canada visitor

Zoo_fr_CA.properties 
visitor=Canada visiteur

Zoo_en.properties
hello = Hello
open = is open

Zoo_fr.properties 
hello=Bonjour
open=est ouvert

Zoo.properties 
name= Vancouver Zoo

我编写代码以使用这些文件取决于我阅读的内容,但不幸的是 MissResourceException 对我来说是弹出窗口

这是我的代码:

public class UseZoo {

    public void use()
    {
    Locale locale = new Locale("en", "CA");
     ResourceBundle rb = ResourceBundle.getBundle("Zoo", locale);
     System.out.print(rb.getString("hello"));
     System.out.print(". ");
     System.out.print(rb.getString("name"));
     System.out.print(" ");
     System.out.print(rb.getString("open"));
     System.out.print(" ");
     System.out.print(rb.getString("visitor"));
    }

    public static void main(String []args)
    {
        UseZoo z = new UseZoo(); 
        z.use();
    }
}

有什么想法吗?

【问题讨论】:

  • 你能展示你的捆绑配置吗?
  • @canillas ,在第一部分的问题中已经提到过
  • 我在任何地方都看不到您的 ResourceBundle 配置。您只发布 .properties 中的名称和内容以及如何调用 ResourceBundle,而不是您的配置...
  • @canillas 你说的配置是什么意思?
  • 请查看tutorial 以了解资源包。

标签: java jsf resourcebundle


【解决方案1】:

如果应用程序是网络应用程序,请检查您的捆绑包是否位于资源文件夹下。 在下面的示例链接中,您可以通过 ResourceBundle.getBundle("i18n.MockBundle", Locale.FRANCE); 访问捆绑包;

Example image link

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-07-14
    • 2015-11-28
    相关资源
    最近更新 更多