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