org.springframework.web.servlet.support

## Class RequestContextUtils

- java.lang.Object
- - org.springframework.web.servlet.support.RequestContextUtils

-     public abstract class RequestContextUtils
      extends Object

  Utility class for easy access to request-specific state which has been set by the `DispatcherServlet`.

  Supports lookup of current WebApplicationContext, LocaleResolver, Locale, ThemeResolver, Theme, and MultipartResolver.

  Since:
    03.03.2003
  Author:
    Juergen Hoeller, Rossen Stoyanchev
  See Also:
    `RequestContext`, `DispatcherServlet`

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `RequestContextUtils()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `static FlashMapManager` | `getFlashMapManager(HttpServletRequest request)` Return the FlashMapManager instance to save flash attributes with before a redirect.
    `static Map<String,?>` | `getInputFlashMap(HttpServletRequest request)` Return a read-only `Map` with "input" flash attributes saved on a previous request.
    `static Locale` | `getLocale(HttpServletRequest request)` Retrieves the current locale from the given request, using the LocaleResolver bound to the request by the DispatcherServlet (if available), falling back to the request's accept-header Locale.
    `static LocaleResolver` | `getLocaleResolver(HttpServletRequest request)` Return the LocaleResolver that has been bound to the request by the DispatcherServlet.
    `static FlashMap` | `getOutputFlashMap(HttpServletRequest request)` Return the "output" FlashMap with attributes to save for a subsequent request.
    `static Theme` | `getTheme(HttpServletRequest request)` Retrieves the current theme from the given request, using the ThemeResolver and ThemeSource bound to the request by the DispatcherServlet.
    `static ThemeResolver` | `getThemeResolver(HttpServletRequest request)` Return the ThemeResolver that has been bound to the request by the DispatcherServlet.
    `static ThemeSource` | `getThemeSource(HttpServletRequest request)` Return the ThemeSource that has been bound to the request by the DispatcherServlet.
    `static WebApplicationContext` | `getWebApplicationContext(ServletRequest request)` Look for the WebApplicationContext associated with the DispatcherServlet that has initiated request processing.
    `static WebApplicationContext` | `getWebApplicationContext(ServletRequest request, ServletContext servletContext)` Look for the WebApplicationContext associated with the DispatcherServlet that has initiated request processing, and for the global context if none was found associated with the current request.

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

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

- - ### Constructor Detail

    - #### RequestContextUtils

          public RequestContextUtils()

  - ### Method Detail

    - #### getWebApplicationContext

          public static WebApplicationContext getWebApplicationContext(ServletRequest request)
                                                                throws IllegalStateException

      Look for the WebApplicationContext associated with the DispatcherServlet that has initiated request processing.
      Parameters:
        `request` - current HTTP request
      Returns:
        the request-specific web application context
      Throws:
        `IllegalStateException` - if no servlet-specific context has been found

    - #### getWebApplicationContext

          public static WebApplicationContext getWebApplicationContext(ServletRequest request,
                                                       ServletContext servletContext)
                                                                throws IllegalStateException

      Look for the WebApplicationContext associated with the DispatcherServlet that has initiated request processing, and for the global context if none was found associated with the current request. This method is useful to allow components outside the framework, such as JSP tag handlers, to access the most specific application context available.
      Parameters:
        `request` - current HTTP request
        `servletContext` - current servlet context
      Returns:
        the request-specific WebApplicationContext, or the global one if no request-specific context has been found
      Throws:
        `IllegalStateException` - if neither a servlet-specific nor a global context has been found

    - #### getLocaleResolver

          public static LocaleResolver getLocaleResolver(HttpServletRequest request)

      Return the LocaleResolver that has been bound to the request by the DispatcherServlet.
      Parameters:
        `request` - current HTTP request
      Returns:
        the current LocaleResolver, or `null` if not found

    - #### getLocale

          public static Locale getLocale(HttpServletRequest request)

      Retrieves the current locale from the given request, using the LocaleResolver bound to the request by the DispatcherServlet (if available), falling back to the request's accept-header Locale.
      Parameters:
        `request` - current HTTP request
      Returns:
        the current locale, either from the LocaleResolver or from the plain request
      See Also:
        `getLocaleResolver(javax.servlet.http.HttpServletRequest)`, `ServletRequest.getLocale()`

    - #### getThemeResolver

          public static ThemeResolver getThemeResolver(HttpServletRequest request)

      Return the ThemeResolver that has been bound to the request by the DispatcherServlet.
      Parameters:
        `request` - current HTTP request
      Returns:
        the current ThemeResolver, or `null` if not found

    - #### getThemeSource

          public static ThemeSource getThemeSource(HttpServletRequest request)

      Return the ThemeSource that has been bound to the request by the DispatcherServlet.
      Parameters:
        `request` - current HTTP request
      Returns:
        the current ThemeSource

    - #### getTheme

          public static Theme getTheme(HttpServletRequest request)

      Retrieves the current theme from the given request, using the ThemeResolver and ThemeSource bound to the request by the DispatcherServlet.
      Parameters:
        `request` - current HTTP request
      Returns:
        the current theme, or `null` if not found
      See Also:
        `getThemeResolver(javax.servlet.http.HttpServletRequest)`

    - #### getInputFlashMap

          public static Map<String,?> getInputFlashMap(HttpServletRequest request)

      Return a read-only `Map` with "input" flash attributes saved on a previous request.
      Parameters:
        `request` - the current request
      Returns:
        a read-only Map, or `null` if not found
      See Also:
        `FlashMap`

    - #### getOutputFlashMap

          public static FlashMap getOutputFlashMap(HttpServletRequest request)

      Return the "output" FlashMap with attributes to save for a subsequent request.
      Parameters:
        `request` - the current request
      Returns:
        a `FlashMap` instance (never `null` within a DispatcherServlet request)
      See Also:
        `FlashMap`

    - #### getFlashMapManager

          public static FlashMapManager getFlashMapManager(HttpServletRequest request)

      Return the FlashMapManager instance to save flash attributes with before a redirect.
      Parameters:
        `request` - the current request
      Returns:
        a `FlashMapManager` instance (never `null` within a DispatcherServlet request)