2016-07-07 6 views
1

私たちは、4種類の異なるビジネス・ブランドに対して4つの異なるバージョンでデプロイされるJSFアプリケーションを用意しています。現時点では、各ブランドごとに別々のコードベースがあり、変更が行われると、マスターブランドのコードベースから他のブランドのコードレポジトリに変更をコピー&ペーストします。さまざまな環境でのJSFアプリケーションでのロケール・バリアントの使用

私はすべてのブランドのための単一のコードベースを持つことに移ろうとしています。

リソースプロパティファイルでアプリケーションで使用されているテキストがあり、XHTMLテンプレート内のすべてのラベルとテキストがそれに由来します。

私の計画は、各ブランドごとに別々のプロパティファイルを用意し、ロケールバリアントコードを使用してそれらの間を切り替えることです。すなわち後の変種と一緒にen_AUとすべての4つのブランド:

  • en_AU_brandA
  • en_AU_brandB
  • en_AU_brandC
  • en_AU_brandD

これは私がしようとしている何をすべきか適切な方法です。行う?また、実行時にJavaコードからXHTMLテンプレートによって使用されるバリアントを選択することも可能ですか?私は、サーバー名に基づいて使用するバリアントを決定するcase switchステートメントを使用することを計画しています。

答えて

2

あなたはこのようにプログラム的にそれを設定することができます。

FacesContext.getCurrentInstance().getViewRoot().setLocale(locale); 

XHTMLで豆を経由して、それを設定する:

<f:view locale="#{user.locale}"/> 

他の方法は、ロケールにバリアントを使用して

hereに記載されています。さまざまな企業に切り替えるには良い方法です。それ以外の場合は、これもプログラム的に行う必要があります。しかし、他に理由がない場合は、私はそれをお勧めしません。

関連する問題