Class SessionThemeResolver
- java.lang.Object
- org.springframework.web.servlet.theme.AbstractThemeResolver
- org.springframework.web.servlet.theme.SessionThemeResolver
- All Implemented Interfaces:
ThemeResolver
public class SessionThemeResolver extends AbstractThemeResolver
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:
setThemeName(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, java.lang.String)
Field Summary
Fields Modifier and Type Field Description static String
THEME_SESSION_ATTRIBUTE_NAME
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
Constructors Constructor Description SessionThemeResolver()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description String
resolveThemeName(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 Detail
THEME_SESSION_ATTRIBUTE_NAME
public static final String 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 Detail
SessionThemeResolver
public SessionThemeResolver()
Method Detail
resolveThemeName
public String resolveThemeName(HttpServletRequest request)
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)