PrimeFaces/JSFを使用して Web アプリケーションを開発しています。
言語選択の典型的なコンボがあります。
誰かがコンボをヒットすると、valueChangeListenerが発生します。
そのリスナー (changeLocaleListener) は viewPort Locale を変更するため、適切なメッセージ バンドルの .properties ファイルをロードできます。
これは期待どおりに機能しますが、 i18nに依存するページの実際のコンテンツをデータベースから再度ロードするために採用する戦略について混乱しています。
つまり、適切な actionListeners メソッドを呼び出してページを更新するにはどうすればよいでしょうか。
次のシナリオを想像してください。
ホームページが表示されます (デフォルト言語としてスペイン語が選択されています)。
最新のニュースと最新のイベントのリストが表示されます (スペイン語)。
ニュースの 1 つをクリックすると、詳細な新しいページ (スペイン語) に移動します。
コンボで英語を選択すると、選択した新しいの詳細情報がデータベースから再ロードされ、英語で表示されます。
それを自動化し、ユーザーがいる実際のページに応じてどのdaoメソッドを呼び出す必要があるかを制御する方法はありますか?
<p:selectOneMenu
value="#{i18nCtrl.mdl.local}"
var="loc"
onchange="$('#form').submit()"
converter="localConverter"
valueChangeListener="#{i18nCtrl.changeLocaleListener}" >
...
ありがとう