org.springframework.web.servlet.theme
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
Implementation of ThemeResolver 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)
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
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.
Use
RequestContext(Utils).getTheme()
to retrieve the current theme in controllers or views.
- See Also:
RequestContext.getTheme()
,
RequestContextUtils.getTheme(javax.servlet.http.HttpServletRequest)
SessionThemeResolver
public SessionThemeResolver()
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
- request to be used for resolution
- Returns:
- the current theme name
setThemeName
public void setThemeName(HttpServletRequest request,
HttpServletResponse response,
String themeName)
- Description copied from interface:
ThemeResolver
- Set the current theme name to the given one.
- Parameters:
request
- request to be used for theme name modificationresponse
- response to be used for theme name modificationthemeName
- the new theme name