Package 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`

@Deprecated(since="6.0") public class SessionThemeResolver extends AbstractThemeResolver
Deprecated.
as of 6.0 in favor of using CSS, without direct replacement
`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`, for example, responding to a theme change request.

Since:
  17.06.2003
Author:
  Jean-Pierre Pawlak, Juergen Hoeller
See Also:
  - `setThemeName(jakarta.servlet.http.HttpServletRequest, jakarta.servlet.http.HttpServletResponse, java.lang.String)`

## Field Summary

Fields
Modifier and Type
Field
Description
`static final String`
`THEME_SESSION_ATTRIBUTE_NAME`
Deprecated.
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()`
Deprecated.

## Method Summary

Modifier and Type
Method
Description
`String`
`resolveThemeName(HttpServletRequest request)`
Deprecated.
Resolve the current theme name via the given request.
`void`
`setThemeName(HttpServletRequest request, HttpServletResponse response, String themeName)`
Deprecated.
Set the current theme name to the given one.

### Methods inherited from class org.springframework.web.servlet.theme.AbstractThemeResolver

`getDefaultThemeName, setDefaultThemeName`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Field Details

### THEME_SESSION_ATTRIBUTE_NAME

public static final String THEME_SESSION_ATTRIBUTE_NAME
Deprecated.
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(jakarta.servlet.http.HttpServletRequest)`

## Constructor Details

### SessionThemeResolver

public SessionThemeResolver()
Deprecated.

## Method Details

### resolveThemeName

public String resolveThemeName(HttpServletRequest request)
Deprecated.
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)
Deprecated.
Description copied from interface: `ThemeResolver`
Set the current theme name to the given one.

Parameters:
  `request` - the request to be used for theme name modification
  `response` - the response to be used for theme name modification
  `themeName` - the new theme name (`null` or empty to reset it)