public interface ThemeResolver
このインターフェースでは、セッションや Cookie などに基づく実装が可能です。デフォルトの実装は FixedThemeResolver
であり、構成されたデフォルトのテーマを使用するだけです。
このリゾルバーは、現在のテーマ名の決定のみを担当することに注意してください。解決されたテーマ名の Theme インスタンスは、それぞれの ThemeSource、つまり現在の WebApplicationContext を介して DispatcherServlet によって検索されます。
RequestContext.getTheme()
を使用して、実際の解決戦略に関係なく、コントローラーまたはビューで現在のテーマを取得します。
Theme
, ThemeSource
修飾子と型 | メソッドと説明 |
---|---|
StringSE | resolveThemeName(HttpServletRequestEE request) 指定されたリクエストを介して現在のテーマ名を解決します。 |
void | setThemeName(HttpServletRequestEE request, HttpServletResponseEE response, StringSE themeName) 現在のテーマ名を指定されたものに設定します。 |
StringSE resolveThemeName(HttpServletRequestEE request)
request
- 解決に使用されるリクエスト void setThemeName(HttpServletRequestEE request, @Nullable HttpServletResponseEE response, @Nullable StringSE themeName)
request
- テーマ名の変更に使用されるリクエスト response
- テーマ名の変更に使用されるレスポンス themeName
- 新しいテーマ名 (null
または空にしてリセットする)UnsupportedOperationExceptionSE
- ThemeResolver 実装がテーマの動的変更をサポートしていない場合