public abstract class RequestContextUtils extends Object
DispatcherServlet
.
Supports lookup of current WebApplicationContext, LocaleResolver, Locale, ThemeResolver, Theme, and MultipartResolver.
RequestContext
,
DispatcherServlet
Modifier and Type | Field and Description |
---|---|
static String |
REQUEST_DATA_VALUE_PROCESSOR_BEAN_NAME
The name of the bean to use to look up in an implementation of
RequestDataValueProcessor has been configured. |
Constructor and Description |
---|
RequestContextUtils() |
Modifier and Type | Method and Description |
---|---|
static WebApplicationContext |
findWebApplicationContext(HttpServletRequest request)
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.
|
static WebApplicationContext |
findWebApplicationContext(HttpServletRequest 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.
|
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)
Retrieve 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 TimeZone |
getTimeZone(HttpServletRequest request)
Retrieve the current time zone from the given request, using the
TimeZoneAwareLocaleResolver bound to the request by the DispatcherServlet
(if available), falling back to the system's default time zone.
|
static WebApplicationContext |
getWebApplicationContext(ServletRequest request)
Deprecated.
as of Spring 4.2.1, in favor of
findWebApplicationContext(HttpServletRequest) |
static WebApplicationContext |
getWebApplicationContext(ServletRequest request,
ServletContext servletContext)
Deprecated.
as of Spring 4.2.1, in favor of
findWebApplicationContext(HttpServletRequest, ServletContext) |
public static final String REQUEST_DATA_VALUE_PROCESSOR_BEAN_NAME
RequestDataValueProcessor
has been configured.@Deprecated public static WebApplicationContext getWebApplicationContext(ServletRequest request) throws IllegalStateException
findWebApplicationContext(HttpServletRequest)
request
- current HTTP requestIllegalStateException
- if no servlet-specific context has been foundgetWebApplicationContext(ServletRequest, ServletContext)
@Deprecated public static WebApplicationContext getWebApplicationContext(ServletRequest request, ServletContext servletContext) throws IllegalStateException
findWebApplicationContext(HttpServletRequest, ServletContext)
request
- current HTTP requestservletContext
- current servlet contextIllegalStateException
- if neither a servlet-specific nor a
global context has been foundDispatcherServlet.WEB_APPLICATION_CONTEXT_ATTRIBUTE
,
WebApplicationContextUtils.getRequiredWebApplicationContext(ServletContext)
public static WebApplicationContext findWebApplicationContext(HttpServletRequest request, ServletContext servletContext)
NOTE: This variant remains compatible with Servlet 2.5, explicitly checking a given ServletContext instead of deriving it from the request.
request
- current HTTP requestservletContext
- current servlet contextnull
if noneDispatcherServlet.WEB_APPLICATION_CONTEXT_ATTRIBUTE
,
WebApplicationContextUtils.getWebApplicationContext(ServletContext)
,
ContextLoader.getCurrentWebApplicationContext()
public static WebApplicationContext findWebApplicationContext(HttpServletRequest request)
NOTE: This variant requires Servlet 3.0+ and is generally recommended for forward-looking custom user code.
request
- current HTTP requestnull
if nonefindWebApplicationContext(HttpServletRequest, ServletContext)
,
ServletRequest.getServletContext()
,
ContextLoader.getCurrentWebApplicationContext()
public static LocaleResolver getLocaleResolver(HttpServletRequest request)
request
- current HTTP requestnull
if not foundpublic static Locale getLocale(HttpServletRequest request)
This method serves as a straightforward alternative to the standard
Servlet ServletRequest.getLocale()
method,
falling back to the latter if no more specific locale has been found.
Consider using LocaleContextHolder.getLocale()
which will normally be populated with the same Locale.
request
- current HTTP requestgetLocaleResolver(javax.servlet.http.HttpServletRequest)
,
LocaleContextHolder.getLocale()
public static TimeZone getTimeZone(HttpServletRequest request)
Note: This method returns null
if no specific time zone can be
resolved for the given request. This is in contrast to getLocale(javax.servlet.http.HttpServletRequest)
where there is always the request's accept-header locale to fall back to.
Consider using LocaleContextHolder.getTimeZone()
which will normally be populated with the same TimeZone: That method only
differs in terms of its fallback to the system time zone if the LocaleResolver
hasn't provided provided a specific time zone (instead of this method's null
).
request
- current HTTP requestnull
if none associatedgetLocaleResolver(javax.servlet.http.HttpServletRequest)
,
LocaleContextHolder.getTimeZone()
public static ThemeResolver getThemeResolver(HttpServletRequest request)
request
- current HTTP requestnull
if not foundpublic static ThemeSource getThemeSource(HttpServletRequest request)
request
- current HTTP requestpublic static Theme getTheme(HttpServletRequest request)
request
- current HTTP requestnull
if not foundgetThemeResolver(javax.servlet.http.HttpServletRequest)
public static Map<String,?> getInputFlashMap(HttpServletRequest request)
Map
with "input" flash attributes saved on a
previous request.request
- the current requestnull
if not foundFlashMap
public static FlashMap getOutputFlashMap(HttpServletRequest request)
public static FlashMapManager getFlashMapManager(HttpServletRequest request)
request
- the current requestFlashMapManager
instance (never null
within a DispatcherServlet request)