spring-framework / org.springframework.web.servlet.theme / CookieThemeResolver

CookieThemeResolver

open class CookieThemeResolver : CookieGenerator, ThemeResolver

ThemeResolver implementation that uses a cookie sent back to the user in case of a custom setting, with a fallback to the default theme. This is particularly useful for stateless applications without user sessions.

Custom controllers can thus override the user's theme by calling setThemeName, e.g. responding to a certain theme change request.

Author
Jean-Pierre Pawlak

Author
Juergen Hoeller

Since
17.06.2003

See Also
#setThemeName

Constructors

<init>

CookieThemeResolver()

Properties

DEFAULT_COOKIE_NAME

static val DEFAULT_COOKIE_NAME: String

ORIGINAL_DEFAULT_THEME_NAME

static val ORIGINAL_DEFAULT_THEME_NAME: String

THEME_REQUEST_ATTRIBUTE_NAME

static val THEME_REQUEST_ATTRIBUTE_NAME: String

Name of the request attribute that holds the theme name. Only used for overriding a cookie value if the theme has been changed in the course of the current request! Use RequestContext.getTheme() to retrieve the current theme in controllers or views.

Inherited Properties

DEFAULT_COOKIE_PATH

static val DEFAULT_COOKIE_PATH: String

Default path that cookies will be visible to: "/", i.e. the entire server.

Functions

getDefaultThemeName

open fun getDefaultThemeName(): String

Return the name of the default theme.

resolveThemeName

open fun resolveThemeName(request: HttpServletRequest): String

setDefaultThemeName

open fun setDefaultThemeName(defaultThemeName: String): Unit

Set the name of the default theme.

setThemeName

open fun setThemeName(request: HttpServletRequest, response: HttpServletResponse, themeName: String): Unit

Inherited Functions

addCookie

open fun addCookie(response: HttpServletResponse, cookieValue: String): Unit

Add a cookie with the given value to the response, using the cookie descriptor settings of this generator.

Delegates to #createCookie for cookie creation.

getCookieDomain

open fun getCookieDomain(): String

Return the domain for cookies created by this generator, if any.

getCookieMaxAge

open fun getCookieMaxAge(): Int

Return the maximum age for cookies created by this generator.

getCookieName

open fun getCookieName(): String

Return the given name for cookies created by this generator.

getCookiePath

open fun getCookiePath(): String

Return the path for cookies created by this generator.

isCookieHttpOnly

open fun isCookieHttpOnly(): Boolean

Return whether the cookie is supposed to be marked with the "HttpOnly" attribute.

isCookieSecure

open fun isCookieSecure(): Boolean

Return whether the cookie should only be sent using a secure protocol, such as HTTPS (SSL).

removeCookie

open fun removeCookie(response: HttpServletResponse): Unit

Remove the cookie that this generator describes from the response. Will generate a cookie with empty value and max age 0.

Delegates to #createCookie for cookie creation.

setCookieDomain

open fun setCookieDomain(cookieDomain: String): Unit

Use the given domain for cookies created by this generator. The cookie is only visible to servers in this domain.

setCookieHttpOnly

open fun setCookieHttpOnly(cookieHttpOnly: Boolean): Unit

Set whether the cookie is supposed to be marked with the "HttpOnly" attribute.

Default is "false".

setCookieMaxAge

open fun setCookieMaxAge(cookieMaxAge: Int): Unit

Use the given maximum age (in seconds) for cookies created by this generator. Useful special value: -1 ... not persistent, deleted when client shuts down.

Default is no specific maximum age at all, using the Servlet container's default.

setCookieName

open fun setCookieName(cookieName: String): Unit

Use the given name for cookies created by this generator.

setCookiePath

open fun setCookiePath(cookiePath: String): Unit

Use the given path for cookies created by this generator. The cookie is only visible to URLs in this path and below.

setCookieSecure

open fun setCookieSecure(cookieSecure: Boolean): Unit

Set whether the cookie should only be sent using a secure protocol, such as HTTPS (SSL). This is an indication to the receiving browser, not processed by the HTTP server itself.

Default is "false".