org.springframework.web.servlet.support
Class RequestContextUtils

java.lang.Object
  extended by 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
See Also:
RequestContext, DispatcherServlet

Constructor Summary
RequestContextUtils()
           
 
Method Summary
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
See Also:
FlashMap

getOutputFlashMap

public static FlashMap getOutputFlashMap(HttpServletRequest request)
Return the "output" FlashMap with attributes to save for a subsequent request.

Parameters:
request - current request
Returns:
a FlashMap instance, never null
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