クラス SessionLocaleResolver
- 実装されているすべてのインターフェース:
- LocaleContextResolver,- LocaleResolver
Accept-Language ヘッダー、サーバーのデフォルトロケールにフォールバックする LocaleResolver 実装。 これは、アプリケーションがユーザーセッションを必要とする場合、つまり、ユーザーのロケールを保存するためだけに HttpSession を作成する必要がない場合に最も適しています。セッションには、オプションで関連するタイムゾーン属性も含めることができます。または、デフォルトのタイムゾーンを指定できます。
 カスタムコントローラーは、リゾルバーで #setLocale(Context) を呼び出すことにより、ユーザーのロケールとタイムゾーンをオーバーライドできます。ロケール変更リクエストへの応答。より便利な代替手段として、RequestContext.changeLocale(java.util.Locale) の使用を検討してください。
CookieLocaleResolver とは対照的に、この戦略はローカルに選択されたロケール設定をサーブレットコンテナーの HttpSession に保存します。結果として、これらの設定は各セッションに対して一時的なものであるため、各セッションが終了すると失われます。
 "Spring Session" プロジェクトなどの外部セッション管理メカニズムと直接的な関連はないことに注意してください。この LocaleResolver は、単に現在の HttpServletRequest に対して対応する HttpSession 属性を評価および変更します。
- 導入:
- 27.02.2003
- 作成者:
- Juergen Hoeller, Vedran Pavic
- 関連事項:
- フィールドのサマリーフィールド
- コンストラクターの概要コンストラクター
- メソッドのサマリー修飾子と型メソッド説明- protected LocaleSE使用すべきではありません。- protected TimeZoneSE使用すべきではありません。6.0 現在、- setDefaultTimeZoneFunction(Function)を推奨- resolveLocale- (HttpServletRequestEE request) - LocaleContextResolver.resolveLocaleContext(HttpServletRequest)に委譲し、必要に応じて- ServletRequest.getLocale()EE にフォールバックする- LocaleResolver.resolveLocale(HttpServletRequest)のデフォルト実装。- resolveLocaleContext- (HttpServletRequestEE request) 指定されたリクエストを介して現在のロケールコンテキストを解決します。- void- setDefaultLocaleFunction- (FunctionSE<HttpServletRequestEE, - LocaleSE> defaultLocaleFunction) - LocaleSE セッション属性が見つからない場合に呼び出される、指定されたリクエストのデフォルトロケールを決定するために使用される関数を設定します。- void- setDefaultTimeZoneFunction- (FunctionSE<HttpServletRequestEE, - TimeZoneSE> defaultTimeZoneFunction) - TimeZoneSE セッション属性が見つからない場合に呼び出される、指定されたリクエストのデフォルトのタイムゾーンを決定するために使用される関数を設定します。- void- setLocaleAttributeName- (StringSE localeAttributeName) - HttpSessionの対応する属性の名前を指定し、現在の- LocaleSE 値を保持します。- void- setLocaleContext- (HttpServletRequestEE request, HttpServletResponseEE response, LocaleContext localeContext) 現在のロケールコンテキストを指定されたものに設定します。潜在的に関連するタイムゾーン情報を持つロケールを含みます。- void- setTimeZoneAttributeName- (StringSE timeZoneAttributeName) - HttpSessionの対応する属性の名前を指定し、現在の- TimeZoneSE 値を保持します。- クラス org.springframework.web.servlet.i18n.AbstractLocaleContextResolver から継承されたメソッド- getDefaultTimeZone, setDefaultTimeZone- クラス org.springframework.web.servlet.i18n.AbstractLocaleResolver から継承されたメソッド- getDefaultLocale, setDefaultLocale- クラス java.lang.ObjectSE から継承されたメソッド- clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE- インターフェース org.springframework.web.servlet.LocaleContextResolver から継承されたメソッド- setLocale
- フィールドの詳細- LOCALE_SESSION_ATTRIBUTE_NAMEロケールを保持するセッション属性のデフォルト名。- この実装によって内部的にのみ使用されます。 - RequestContext(Utils).getLocale()を使用して、コントローラーまたはビューの現在のロケールを取得します。
- TIME_ZONE_SESSION_ATTRIBUTE_NAMETimeZone を保持するセッション属性のデフォルト名。- この実装によって内部的にのみ使用されます。 - RequestContext(Utils).getTimeZone()を使用して、コントローラーまたはビューの現在のタイムゾーンを取得します。
 
- コンストラクターの詳細- SessionLocaleResolverpublic SessionLocaleResolver()
 
- メソッドの詳細- setLocaleAttributeName- 導入:
- 4.3.8
 
- setTimeZoneAttributeName- 導入:
- 4.3.8
 
- setDefaultLocaleFunctionpublic void setDefaultLocaleFunction- (FunctionSE<HttpServletRequestEE, - LocaleSE> defaultLocaleFunction) - LocaleSE セッション属性が見つからない場合に呼び出される、指定されたリクエストのデフォルトロケールを決定するために使用される関数を設定します。- デフォルトの実装は、構成されたデフォルトのロケールを返します(存在する場合)。それ以外の場合は、リクエストの - Accept-Languageヘッダーロケールまたはサーバーのデフォルトのロケールにフォールバックします。- パラメーター:
- defaultLocaleFunction- デフォルトのロケールを決定するために使用される関数
- 導入:
- 6.0
- 関連事項:
 
- setDefaultTimeZoneFunctionpublic void setDefaultTimeZoneFunction- (FunctionSE<HttpServletRequestEE, - TimeZoneSE> defaultTimeZoneFunction) - TimeZoneSE セッション属性が見つからない場合に呼び出される、指定されたリクエストのデフォルトのタイムゾーンを決定するために使用される関数を設定します。- デフォルトの実装は、構成されたデフォルトのタイムゾーン(存在する場合)を返し、そうでない場合は - nullを返します。- パラメーター:
- defaultTimeZoneFunction- デフォルトのタイムゾーンを決定するために使用される関数
- 導入:
- 6.0
- 関連事項:
 
- resolveLocaleインターフェースからコピーされた説明:- LocaleContextResolver- LocaleContextResolver.resolveLocaleContext(HttpServletRequest)に委譲し、必要に応じて- ServletRequest.getLocale()EE にフォールバックする- LocaleResolver.resolveLocale(HttpServletRequest)のデフォルト実装。- パラメーター:
- request- ロケールを解決するためのリクエスト
- 戻り値:
-  現在のロケール (非 null)
 
- resolveLocaleContextインターフェースからコピーされた説明:- LocaleContextResolver指定されたリクエストを介して現在のロケールコンテキストを解決します。- これは主にフレームワークレベルの処理を目的としています。現在のロケールやタイムゾーンへのアプリケーションレベルのアクセスには、 - RequestContextUtilsまたは- RequestContextの使用を検討してください。- 返されるコンテキストは、タイムゾーン情報が関連付けられたロケールを含む - TimeZoneAwareLocaleContextである場合があります。- instanceofチェックを適用し、それに応じてダウンキャストするだけです。- カスタムリゾルバーの実装は、返されたコンテキストで追加の設定を返すこともありますが、これもダウンキャストを通じてアクセスできます。 - パラメーター:
- request- ロケールコンテキストを解決するためのリクエスト
- 戻り値:
-  現在のロケールコンテキスト(非 null
- 関連事項:
 
- setLocaleContextpublic void setLocaleContext- (HttpServletRequestEE request, @Nullable HttpServletResponseEE response, @Nullable LocaleContext localeContext) インターフェースからコピーされた説明:- LocaleContextResolver現在のロケールコンテキストを指定されたものに設定します。潜在的に関連するタイムゾーン情報を持つロケールを含みます。- パラメーター:
- request- ロケール変更に使用されるリクエスト
- response- ロケール変更に使用されるレスポンス
- localeContext- 新しいロケールコンテキスト、またはロケールをクリアする- null
- 関連事項:
 
- determineDefaultLocale使用すべきではありません。6.0 現在、- setDefaultLocaleFunction(Function)を推奨- LocaleSE セッション属性が見つからなかった場合に呼び出される、指定されたリクエストのデフォルトのロケールを決定します。- デフォルトの実装は、構成されたデフォルトのロケールを返します(存在する場合)。それ以外の場合は、リクエストの - Accept-Languageヘッダーロケールまたはサーバーのデフォルトのロケールにフォールバックします。- パラメーター:
- request- ロケールを解決するためのリクエスト
- 戻り値:
-  デフォルトのロケール (非 null)
- 関連事項:
 
- determineDefaultTimeZone@DeprecatedSE(since="6.0") @Nullable protected TimeZoneSE determineDefaultTimeZone- (HttpServletRequestEE request) 使用すべきではありません。6.0 現在、- setDefaultTimeZoneFunction(Function)を推奨- TimeZoneSE セッション属性が見つからなかった場合に呼び出される、指定されたリクエストのデフォルトのタイムゾーンを決定します。- デフォルトの実装は、構成されたデフォルトのタイムゾーン(存在する場合)を返し、そうでない場合は - nullを返します。- パラメーター:
- request- タイムゾーンを解決するためのリクエスト
- 戻り値:
-  デフォルトのタイムゾーン (または定義されていない場合は null)
- 関連事項:
 
 
setDefaultLocaleFunction(Function)を推奨