Package org.springframework.web.servlet

# Interface ThemeResolver

All Known Implementing Classes:
  `AbstractThemeResolver`, `CookieThemeResolver`, `FixedThemeResolver`, `SessionThemeResolver`

@Deprecated(since="6.0") public interface ThemeResolver
Deprecated.
as of 6.0 in favor of using CSS, without direct replacement
Interface for web-based theme resolution strategies that allows for both theme resolution via the request and theme modification via request and response.

This interface allows for implementations based on session, cookies, etc. The default implementation is `FixedThemeResolver`, simply using a configured default theme.

Note that this resolver is only responsible for determining the current theme name. The Theme instance for the resolved theme name gets looked up by DispatcherServlet via the respective ThemeSource, i.e. the current WebApplicationContext.

Use `RequestContext.getTheme()` to retrieve the current theme in controllers or views, independent of the actual resolution strategy.

Since:
  17.06.2003
Author:
  Jean-Pierre Pawlak, Juergen Hoeller
See Also:
  - `Theme`
  - `ThemeSource`

## 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.

## Method Details

### resolveThemeName

String resolveThemeName(HttpServletRequest request)
Deprecated.
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

void setThemeName(HttpServletRequest request, @Nullable HttpServletResponse response, @Nullable String themeName)
Deprecated.
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)
Throws:
  `UnsupportedOperationException` - if the ThemeResolver implementation does not support dynamic changing of the theme