资源包继承

时间:2017-11-14 15:42:38

标签: java jsf resourcebundle

我正在尝试对资源包进行简单操作,我在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();
    }
}

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

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

Example image link