Class WebMvcUtils
- java.lang.Object
-
- io.microsphere.spring.webmvc.util.WebMvcUtils
-
public abstract class WebMvcUtils extends java.lang.Object
Spring Web MVC Utilities Class- Since:
- 1.0.0
- Author:
- Mercy
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String
ABSTRACT_JSONP_RESPONSE_BODY_ADVICE_CLASS_NAME
The name of AbstractJsonpResponseBodyAdvice class which was present in Spring Framework since 4.1static java.lang.String
HANDLER_METHOD_ARGUMENTS_ATTRIBUTE_NAME_PREFIX
static java.lang.String
HANDLER_METHOD_REQUEST_BODY_ARGUMENT_ATTRIBUTE_NAME_PREFIX
static java.lang.String
HANDLER_METHOD_RETURN_VALUE_ATTRIBUTE_NAME_PREFIX
static java.util.Set<java.lang.Class<? extends org.springframework.http.converter.HttpMessageConverter<?>>>
supportedConverterTypes
-
Constructor Summary
Constructors Constructor Description WebMvcUtils()
-
Method Summary
All Methods Static Methods Concrete Methods Modifier and Type Method Description static void
appendContextInitializerClassInitParameter(javax.servlet.ServletContext servletContext, java.lang.Class<? extends org.springframework.context.ApplicationContextInitializer> contextInitializerClass)
Append initialized parameter forContext Initializer Class
static void
appendFrameworkServletContextInitializerClassInitParameter(javax.servlet.ServletContext servletContext, java.lang.Class<? extends org.springframework.context.ApplicationContextInitializer> contextInitializerClass)
Append initialized parameter forContext Initializer Class
intoFrameworkServlet
static void
appendGlobalInitializerClassInitParameter(javax.servlet.ServletContext servletContext, java.lang.Class<? extends org.springframework.context.ApplicationContextInitializer> contextInitializerClass)
Append initialized parameter forGlobal Initializer Class
protected static java.lang.String
appendInitParameter(java.lang.String existedParameterValue, java.lang.String... parameterValues)
static void
appendInitParameters(javax.servlet.ServletContext servletContext, java.lang.String parameterName, java.lang.String... parameterValues)
AppendServletContext Intialized Parameters
static java.lang.Object[]
getHandlerMethodArguments(java.lang.reflect.Method method)
Gets theHandlerMethod
method parameterstatic java.lang.Object[]
getHandlerMethodArguments(javax.servlet.ServletRequest request, java.lang.reflect.Method method)
Gets theHandlerMethod
method parameterstatic java.lang.Object[]
getHandlerMethodArguments(javax.servlet.ServletRequest request, org.springframework.web.method.HandlerMethod handlerMethod)
Gets theHandlerMethod
method parameterstatic java.lang.Object[]
getHandlerMethodArguments(org.springframework.web.context.request.WebRequest webRequest, java.lang.reflect.Method method)
static java.lang.Object[]
getHandlerMethodArguments(org.springframework.web.context.request.WebRequest webRequest, org.springframework.core.MethodParameter parameter)
static java.lang.Object[]
getHandlerMethodArguments(org.springframework.web.context.request.WebRequest webRequest, org.springframework.web.method.HandlerMethod handlerMethod)
static <T> T
getHandlerMethodRequestBodyArgument(javax.servlet.ServletRequest request, java.lang.reflect.Method method)
Gets the@RequestBody
method parameter from theServletRequest
contextstatic <T> T
getHandlerMethodRequestBodyArgument(javax.servlet.ServletRequest request, org.springframework.web.method.HandlerMethod handlerMethod)
Gets the@RequestBody
method parameter from theServletRequest
contextstatic <T> T
getHandlerMethodReturnValue(java.lang.reflect.Method method)
Gets the value returned by theHandlerMethod
methodstatic <T> T
getHandlerMethodReturnValue(javax.servlet.ServletRequest request, java.lang.reflect.Method method)
Gets the value returned by theHandlerMethod
methodstatic <T> T
getHandlerMethodReturnValue(javax.servlet.ServletRequest request, org.springframework.web.method.HandlerMethod handlerMethod)
Gets the value returned by theHandlerMethod
methodstatic javax.servlet.http.HttpServletRequest
getHttpServletRequest()
Gets the currentHttpServletRequest
objectstatic javax.servlet.http.HttpServletRequest
getHttpServletRequest(org.springframework.web.context.request.WebRequest webRequest)
static org.springframework.web.context.WebApplicationContext
getWebApplicationContext()
Gets theWebApplicationContext
associated with the current Servlet Request requeststatic org.springframework.web.context.WebApplicationContext
getWebApplicationContext(javax.servlet.http.HttpServletRequest request, javax.servlet.ServletContext servletContext)
Get theWebApplicationContext
fromHttpServletRequest
static boolean
isControllerAdviceBeanType(java.lang.Class<?> beanType)
Determine whether the Bean Type is present annotated byControllerAdvice
static boolean
isPageRenderRequest(org.springframework.web.servlet.ModelAndView modelAndView)
Is page render requeststatic void
setHandlerMethodRequestBodyArgument(java.lang.reflect.Method method, java.lang.Object requestBodyArgument)
Set the@RequestBody
method parameter inHandlerMethod
to theServletRequest
contextstatic void
setHandlerMethodRequestBodyArgument(javax.servlet.ServletRequest request, java.lang.reflect.Method method, java.lang.Object requestBodyArgument)
Set the@RequestBody
method parameter inHandlerMethod
to theServletRequest
contextstatic void
setHandlerMethodReturnValue(javax.servlet.http.HttpServletRequest request, java.lang.reflect.Method method, java.lang.Object returnValue)
-
-
-
Field Detail
-
HANDLER_METHOD_ARGUMENTS_ATTRIBUTE_NAME_PREFIX
public static final java.lang.String HANDLER_METHOD_ARGUMENTS_ATTRIBUTE_NAME_PREFIX
- See Also:
- Constant Field Values
-
HANDLER_METHOD_REQUEST_BODY_ARGUMENT_ATTRIBUTE_NAME_PREFIX
public static final java.lang.String HANDLER_METHOD_REQUEST_BODY_ARGUMENT_ATTRIBUTE_NAME_PREFIX
- See Also:
- Constant Field Values
-
HANDLER_METHOD_RETURN_VALUE_ATTRIBUTE_NAME_PREFIX
public static final java.lang.String HANDLER_METHOD_RETURN_VALUE_ATTRIBUTE_NAME_PREFIX
- See Also:
- Constant Field Values
-
supportedConverterTypes
public static final java.util.Set<java.lang.Class<? extends org.springframework.http.converter.HttpMessageConverter<?>>> supportedConverterTypes
-
ABSTRACT_JSONP_RESPONSE_BODY_ADVICE_CLASS_NAME
public static final java.lang.String ABSTRACT_JSONP_RESPONSE_BODY_ADVICE_CLASS_NAME
The name of AbstractJsonpResponseBodyAdvice class which was present in Spring Framework since 4.1- See Also:
- Constant Field Values
-
-
Method Detail
-
getHttpServletRequest
public static javax.servlet.http.HttpServletRequest getHttpServletRequest() throws java.lang.IllegalStateException
Gets the currentHttpServletRequest
objectBy default,
HttpServletRequest
is initialized inRequestContextFilter
,HttpServletRequest
from the Servlet HTTP request threadThreadLocal
is obtained fromInheritableThreadLocal
and can be obtained in the child thread.- Returns:
null
returns the current
HttpServletRequest
object.- Throws:
java.lang.IllegalStateException
-
getHttpServletRequest
public static javax.servlet.http.HttpServletRequest getHttpServletRequest(org.springframework.web.context.request.WebRequest webRequest)
-
getWebApplicationContext
public static org.springframework.web.context.WebApplicationContext getWebApplicationContext() throws java.lang.IllegalStateException
Gets theWebApplicationContext
associated with the current Servlet Request request- Returns:
- Current Servlet Request associated with
WebApplicationContext
- Throws:
java.lang.IllegalStateException
- In a non-Web scenario, an exception is thrown
-
setHandlerMethodRequestBodyArgument
public static void setHandlerMethodRequestBodyArgument(java.lang.reflect.Method method, java.lang.Object requestBodyArgument)
Set the@RequestBody
method parameter inHandlerMethod
to theServletRequest
context- Parameters:
method
- HandlerMethod
requestBodyArgument
-@RequestBody
The method parameters
-
setHandlerMethodReturnValue
public static void setHandlerMethodReturnValue(javax.servlet.http.HttpServletRequest request, java.lang.reflect.Method method, java.lang.Object returnValue)
-
setHandlerMethodRequestBodyArgument
public static void setHandlerMethodRequestBodyArgument(javax.servlet.ServletRequest request, java.lang.reflect.Method method, java.lang.Object requestBodyArgument)
Set the@RequestBody
method parameter inHandlerMethod
to theServletRequest
context- Parameters:
request
-ServletRequest
method
- HandlerMethod
requestBodyArgument
-@RequestBody
The method parameters
-
getHandlerMethodRequestBodyArgument
public static <T> T getHandlerMethodRequestBodyArgument(javax.servlet.ServletRequest request, org.springframework.web.method.HandlerMethod handlerMethod)
Gets the@RequestBody
method parameter from theServletRequest
context- Type Parameters:
T
-@RequestBody
Method parameter Types- Parameters:
request
-ServletRequest
handlerMethod
-HandlerMethod
- Returns:
@RequestBody
Method parameters if present, otherwise,null
-
getHandlerMethodRequestBodyArgument
public static <T> T getHandlerMethodRequestBodyArgument(javax.servlet.ServletRequest request, java.lang.reflect.Method method)
Gets the@RequestBody
method parameter from theServletRequest
context- Type Parameters:
T
-@RequestBody
Method parameter Types- Parameters:
request
-ServletRequest
method
- HandlerMethod
- Returns:
@RequestBody
method parameter if present, otherwisenull
-
getHandlerMethodArguments
public static java.lang.Object[] getHandlerMethodArguments(org.springframework.web.context.request.WebRequest webRequest, org.springframework.web.method.HandlerMethod handlerMethod)
-
getHandlerMethodArguments
public static java.lang.Object[] getHandlerMethodArguments(org.springframework.web.context.request.WebRequest webRequest, org.springframework.core.MethodParameter parameter)
-
getHandlerMethodArguments
public static java.lang.Object[] getHandlerMethodArguments(org.springframework.web.context.request.WebRequest webRequest, java.lang.reflect.Method method)
-
getHandlerMethodArguments
public static java.lang.Object[] getHandlerMethodArguments(javax.servlet.ServletRequest request, org.springframework.web.method.HandlerMethod handlerMethod)
Gets theHandlerMethod
method parameter- Parameters:
request
-ServletRequest
handlerMethod
-HandlerMethod
- Returns:
- non-null
-
getHandlerMethodArguments
public static java.lang.Object[] getHandlerMethodArguments(javax.servlet.ServletRequest request, java.lang.reflect.Method method)
Gets theHandlerMethod
method parameter- Parameters:
request
-ServletRequest
method
-Method
- Returns:
- non-null
-
getHandlerMethodArguments
public static java.lang.Object[] getHandlerMethodArguments(java.lang.reflect.Method method)
Gets theHandlerMethod
method parameter- Parameters:
method
-Method
- Returns:
- non-null
-
getHandlerMethodReturnValue
public static <T> T getHandlerMethodReturnValue(javax.servlet.ServletRequest request, org.springframework.web.method.HandlerMethod handlerMethod)
Gets the value returned by theHandlerMethod
method- Type Parameters:
T
- Method return value type- Parameters:
request
-ServletRequest
handlerMethod
-HandlerMethod
- Returns:
HandlerMethod
Method return value
-
getHandlerMethodReturnValue
public static <T> T getHandlerMethodReturnValue(javax.servlet.ServletRequest request, java.lang.reflect.Method method)
Gets the value returned by theHandlerMethod
method- Type Parameters:
T
- Method return value type- Parameters:
request
-ServletRequest
method
-Method
- Returns:
HandlerMethod
Method return value
-
getHandlerMethodReturnValue
public static <T> T getHandlerMethodReturnValue(java.lang.reflect.Method method)
Gets the value returned by theHandlerMethod
method- Type Parameters:
T
- Method return value type- Parameters:
method
-Method
- Returns:
HandlerMethod
Method return value
-
isControllerAdviceBeanType
public static boolean isControllerAdviceBeanType(java.lang.Class<?> beanType)
Determine whether the Bean Type is present annotated byControllerAdvice
- Parameters:
beanType
- Bean Type- Returns:
- If
ControllerAdvice
bean type is present , returntrue
, orfalse
.
-
getWebApplicationContext
public static org.springframework.web.context.WebApplicationContext getWebApplicationContext(javax.servlet.http.HttpServletRequest request, javax.servlet.ServletContext servletContext)
Get theWebApplicationContext
fromHttpServletRequest
- Parameters:
request
-HttpServletRequest
servletContext
-ServletContext
- Returns:
WebApplicationContext
- Throws:
java.lang.IllegalStateException
- if no servlet-specific context has been found- See Also:
RequestContextUtils#getWebApplicationContext(ServletRequest)
,DispatcherServlet.WEB_APPLICATION_CONTEXT_ATTRIBUTE
-
appendInitParameter
protected static java.lang.String appendInitParameter(java.lang.String existedParameterValue, java.lang.String... parameterValues)
-
appendInitParameters
public static void appendInitParameters(javax.servlet.ServletContext servletContext, java.lang.String parameterName, java.lang.String... parameterValues)
AppendServletContext Intialized Parameters
- Parameters:
servletContext
-ServletContext
parameterName
- the name of init parameterparameterValues
- the values of init parameters
-
appendGlobalInitializerClassInitParameter
public static void appendGlobalInitializerClassInitParameter(javax.servlet.ServletContext servletContext, java.lang.Class<? extends org.springframework.context.ApplicationContextInitializer> contextInitializerClass)
Append initialized parameter forGlobal Initializer Class
- Parameters:
servletContext
-ServletContext
contextInitializerClass
- the class ofApplicationContextInitializer
- See Also:
ContextLoader.GLOBAL_INITIALIZER_CLASSES_PARAM
-
appendContextInitializerClassInitParameter
public static void appendContextInitializerClassInitParameter(javax.servlet.ServletContext servletContext, java.lang.Class<? extends org.springframework.context.ApplicationContextInitializer> contextInitializerClass)
Append initialized parameter forContext Initializer Class
- Parameters:
servletContext
-ServletContext
contextInitializerClass
- the class ofApplicationContextInitializer
- See Also:
ContextLoader.CONTEXT_INITIALIZER_CLASSES_PARAM
-
appendFrameworkServletContextInitializerClassInitParameter
public static void appendFrameworkServletContextInitializerClassInitParameter(javax.servlet.ServletContext servletContext, java.lang.Class<? extends org.springframework.context.ApplicationContextInitializer> contextInitializerClass)
Append initialized parameter forContext Initializer Class
intoFrameworkServlet
- Parameters:
servletContext
-ServletContext
contextInitializerClass
- the class ofApplicationContextInitializer
- See Also:
FrameworkServlet.applyInitializers(ConfigurableApplicationContext)
-
isPageRenderRequest
public static boolean isPageRenderRequest(org.springframework.web.servlet.ModelAndView modelAndView)
Is page render request- Parameters:
modelAndView
-ModelAndView
- Returns:
- If current request is for page render , return
true
, orfalse
.
-
-