Class WebMvcUtils


  • public abstract class WebMvcUtils
    extends java.lang.Object
    Spring Web MVC Utilities Class
    Since:
    1.0.0
    Author:
    Mercy
    • 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 for Context Initializer Class
      static void appendFrameworkServletContextInitializerClassInitParameter​(javax.servlet.ServletContext servletContext, java.lang.Class<? extends org.springframework.context.ApplicationContextInitializer> contextInitializerClass)
      Append initialized parameter for Context Initializer Class into FrameworkServlet
      static void appendGlobalInitializerClassInitParameter​(javax.servlet.ServletContext servletContext, java.lang.Class<? extends org.springframework.context.ApplicationContextInitializer> contextInitializerClass)
      Append initialized parameter for Global 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)
      Append ServletContext Intialized Parameters
      static java.lang.Object[] getHandlerMethodArguments​(java.lang.reflect.Method method)
      Gets the HandlerMethod method parameter
      static java.lang.Object[] getHandlerMethodArguments​(javax.servlet.ServletRequest request, java.lang.reflect.Method method)
      Gets the HandlerMethod method parameter
      static java.lang.Object[] getHandlerMethodArguments​(javax.servlet.ServletRequest request, org.springframework.web.method.HandlerMethod handlerMethod)
      Gets the HandlerMethod method parameter
      static 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 the ServletRequest context
      static <T> T getHandlerMethodRequestBodyArgument​(javax.servlet.ServletRequest request, org.springframework.web.method.HandlerMethod handlerMethod)
      Gets the @RequestBody method parameter from the ServletRequest context
      static <T> T getHandlerMethodReturnValue​(java.lang.reflect.Method method)
      Gets the value returned by the HandlerMethod method
      static <T> T getHandlerMethodReturnValue​(javax.servlet.ServletRequest request, java.lang.reflect.Method method)
      Gets the value returned by the HandlerMethod method
      static <T> T getHandlerMethodReturnValue​(javax.servlet.ServletRequest request, org.springframework.web.method.HandlerMethod handlerMethod)
      Gets the value returned by the HandlerMethod method
      static javax.servlet.http.HttpServletRequest getHttpServletRequest()
      Gets the current HttpServletRequest object
      static javax.servlet.http.HttpServletRequest getHttpServletRequest​(org.springframework.web.context.request.WebRequest webRequest)  
      static org.springframework.web.context.WebApplicationContext getWebApplicationContext()
      Gets the WebApplicationContext associated with the current Servlet Request request
      static org.springframework.web.context.WebApplicationContext getWebApplicationContext​(javax.servlet.http.HttpServletRequest request, javax.servlet.ServletContext servletContext)
      Get the WebApplicationContext from HttpServletRequest
      static boolean isControllerAdviceBeanType​(java.lang.Class<?> beanType)
      Determine whether the Bean Type is present annotated by ControllerAdvice
      static boolean isPageRenderRequest​(org.springframework.web.servlet.ModelAndView modelAndView)
      Is page render request
      static void setHandlerMethodRequestBodyArgument​(java.lang.reflect.Method method, java.lang.Object requestBodyArgument)
      Set the @RequestBody method parameter in HandlerMethod to the ServletRequest context
      static void setHandlerMethodRequestBodyArgument​(javax.servlet.ServletRequest request, java.lang.reflect.Method method, java.lang.Object requestBodyArgument)
      Set the @RequestBody method parameter in HandlerMethod to the ServletRequest context
      static void setHandlerMethodReturnValue​(javax.servlet.http.HttpServletRequest request, java.lang.reflect.Method method, java.lang.Object returnValue)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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
    • Constructor Detail

      • WebMvcUtils

        public WebMvcUtils()
    • Method Detail

      • getHttpServletRequest

        public static javax.servlet.http.HttpServletRequest getHttpServletRequest()
                                                                           throws java.lang.IllegalStateException
        Gets the current HttpServletRequest object

        By default, HttpServletRequest is initialized in RequestContextFilter, HttpServletRequest from the Servlet HTTP request thread ThreadLocal is obtained from InheritableThreadLocal 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 the WebApplicationContext 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 in HandlerMethod to the ServletRequest context
        Parameters:
        method - Handler Method
        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 in HandlerMethod to the ServletRequest context
        Parameters:
        request - ServletRequest
        method - Handler Method
        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 the ServletRequest 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 the ServletRequest context
        Type Parameters:
        T - @RequestBody Method parameter Types
        Parameters:
        request - ServletRequest
        method - Handler Method
        Returns:
        @RequestBody method parameter if present, otherwise null
      • 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 the HandlerMethod 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 the HandlerMethod method parameter
        Parameters:
        request - ServletRequest
        method - Method
        Returns:
        non-null
      • getHandlerMethodArguments

        public static java.lang.Object[] getHandlerMethodArguments​(java.lang.reflect.Method method)
        Gets the HandlerMethod 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 the HandlerMethod 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 the HandlerMethod 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 the HandlerMethod 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 by ControllerAdvice
        Parameters:
        beanType - Bean Type
        Returns:
        If ControllerAdvice bean type is present , return true , or false.
      • getWebApplicationContext

        public static org.springframework.web.context.WebApplicationContext getWebApplicationContext​(javax.servlet.http.HttpServletRequest request,
                                                                                                     javax.servlet.ServletContext servletContext)
        Get the WebApplicationContext from HttpServletRequest
        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)
        Append ServletContext Intialized Parameters
        Parameters:
        servletContext - ServletContext
        parameterName - the name of init parameter
        parameterValues - 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 for Global Initializer Class
        Parameters:
        servletContext - ServletContext
        contextInitializerClass - the class of ApplicationContextInitializer
        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 for Context Initializer Class
        Parameters:
        servletContext - ServletContext
        contextInitializerClass - the class of ApplicationContextInitializer
        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 for Context Initializer Class into FrameworkServlet
        Parameters:
        servletContext - ServletContext
        contextInitializerClass - the class of ApplicationContextInitializer
        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 , or false.