JSF ResourceBundle BeanからのDynameic呼び出し

私のJSFページで、私はこのようなものを使って私のリソースバンドルを簡単に呼び出すことができます

#{msg.formatwidth}

しかし、私は自分の現在の選択した言語で私のresourceBundleを私のバックベイで呼びたいと思っています。そのための標準のnetbeans生成コードは

java.util.ResourceBundle.getBundle("resource/messages_en").getString("dbupdate")

それは私の言語がフランス語またはダブ語に設定されていても、英語でしか得られません。どうすればこれを達成できますか?

1

2 答え

ロケールをとる getBundle()メソッドを使用します。

String basename = "resource/messages";
Locale locale = FacesContext.getCurrentInstance().getViewRoot().getLocale();
ResourceBundle bundle = ResourceBundle.getBundle(basename, locale);
// ...
2
追加された

BalusCが指摘している現在のロケールを取得します。ただし、faces-context.xmlにもサポートされているロケールを設定する必要があります。

0
追加された