私は、それぞれのリクエストに対して作成されたmessageResourceのプロトタイプ(シングルトンかもしれないと思います)セッション内のUserオブジェクトから取得したロケール。そのため、ロケールを渡す必要はありません。検証メッセージだけをローカライズする必要はなく、例外メッセージなどをローカライズする必要がない場合は非常に不便です。2つの例外境界がある場合は、その問題です。 1つは、サービスへの参照を渡すか、またはそれらを集約するいくつかのコンテキストを持っていなければならず、すべてが1つの場所で行われます。SpringのmessageResourceは、セッションから暗黙的にローカライズされています - ロケール参照を渡す必要はありません
他の理由で既にResourceBundleMessageSourceが拡張されているため、ロケール状態になる可能性がありますが、この問題の最適な方法は何か分かりません。
短縮版:リクエストがセッションからハンドラ、グラブユーザーまたはロケールに渡され、コンテキストからCustomMessageSourceを取得し、それを移植されている>コントローラで利用可能な同じCustomMessageSourceインスタンスがすでに
をローカライズしているあなたは、問題はありませんリクエストが来たら、MessageSourceはセッションから自動的に "ローカライズ"されますか?
アプリコンテキスト内のすべての参照は、ローカライズされたmessageResourceを示します。
@Autowired private MessageSource resource;
サーブレット環境ではSPR-8555、ポートレット環境ではSPR-8558に投票できます。