私はStruts 2とsitemeshを使用しています。「request_locale」パラメータで名前を付けたリクエスト パラメータを設定するだけで、ログイン ページのロケールを問題なく変更できます。しかし、他のすべてのページでは、ヘッダーとフッターを装飾するためにサイトメッシュを使用しています。そして、他のページにも同じパラメータを設定しようとしましたが、うまくいきませんでした。これらは、ログインアクションで試した他のコードの一部です:
request.getSession(false).setAttribute("WW_TRANS_I18N_LOCALE", newLocale);
ActionContext.getContext().setLocale(newLocale);
session.put(I18nInterceptor.DEFAULT_SESSION_ATTRIBUTE, newLocale);
これらの設定を書き出すと、すべて問題ないことがわかります。しかし、私が書き出すとき
<c:out value="${pageContext.request.locale.language}"/>
ブラウザには常に Accept-Language が表示され、ローカライズは行われません。サイトメッシュで動作するようにローカリゼーションを行うにはどうすればよいですか?