public interface

ThemeResolver

org.springframework.web.servlet.ThemeResolver
Known Indirect Subclasses

Class Overview

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.

Summary

Public Methods
abstract String resolveThemeName(HttpServletRequest request)
Resolve the current theme name via the given request.
abstract void setThemeName(HttpServletRequest request, HttpServletResponse response, String themeName)
Set the current theme name to the given one.

Public Methods

public abstract String resolveThemeName (HttpServletRequest request)

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

public abstract void setThemeName (HttpServletRequest request, HttpServletResponse response, String themeName)

Set the current theme name to the given one.

Parameters
request request to be used for theme name modification
response response to be used for theme name modification
themeName the new theme name
Throws
UnsupportedOperationException if the ThemeResolver implementation does not support dynamic changing of the theme