Class SessionThemeResolver
java.lang.Object
org.springframework.web.servlet.theme.AbstractThemeResolver
org.springframework.web.servlet.theme.SessionThemeResolver
- All Implemented Interfaces:
ThemeResolver
ThemeResolver
implementation that
uses a theme attribute in the user's session in case of a custom setting,
with a fallback to the default theme. This is most appropriate if the
application needs user sessions anyway.
Custom controllers can override the user's theme by calling
setThemeName
, e.g. responding to a theme change request.
- Since:
- 17.06.2003
- Author:
- Jean-Pierre Pawlak, Juergen Hoeller
- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
Name of the session attribute that holds the theme name.Fields inherited from class org.springframework.web.servlet.theme.AbstractThemeResolver
ORIGINAL_DEFAULT_THEME_NAME
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionresolveThemeName
(HttpServletRequest request) Resolve the current theme name via the given request.void
setThemeName
(HttpServletRequest request, HttpServletResponse response, String themeName) Set the current theme name to the given one.Methods inherited from class org.springframework.web.servlet.theme.AbstractThemeResolver
getDefaultThemeName, setDefaultThemeName
-
Field Details
-
THEME_SESSION_ATTRIBUTE_NAME
Name of the session attribute that holds the theme name. Only used internally by this implementation. UseRequestContext(Utils).getTheme()
to retrieve the current theme in controllers or views.
-
-
Constructor Details
-
SessionThemeResolver
public SessionThemeResolver()
-
-
Method Details
-
resolveThemeName
Description copied from interface:ThemeResolver
Resolve the current theme name via the given request. Should return a default theme as fallback in any case.- Parameters:
request
- the request to be used for resolution- Returns:
- the current theme name
-
setThemeName
public void setThemeName(HttpServletRequest request, @Nullable HttpServletResponse response, @Nullable String themeName) Description copied from interface:ThemeResolver
Set the current theme name to the given one.- Parameters:
request
- the request to be used for theme name modificationresponse
- the response to be used for theme name modificationthemeName
- the new theme name (null
or empty to reset it)
-