org.springframework.web.servlet.mvc

## Class ParameterizableViewController

- java.lang.Object
- - org.springframework.context.support.ApplicationObjectSupport
  - - org.springframework.web.context.support.WebApplicationObjectSupport
    - - org.springframework.web.servlet.support.WebContentGenerator
      - - org.springframework.web.servlet.mvc.AbstractController
        - - org.springframework.web.servlet.mvc.ParameterizableViewController

- All Implemented Interfaces:
    Aware, ApplicationContextAware, ServletContextAware, Controller

      public class ParameterizableViewController
      extends AbstractController

  Trivial controller that always returns a named view. The view can be configured using an exposed configuration property. This controller offers an alternative to sending a request straight to a view such as a JSP. The advantage here is that the client is not exposed to the concrete view technology but rather just to the controller URL; the concrete view will be determined by the ViewResolver.

  An alternative to the ParameterizableViewController is a `MultiActionController`, which can define a variety of handler methods that just return a plain ModelAndView instance for a given view name.

  Workflow (and that defined by superclass):

  1. Request is received by the controller
  2. call to `handleRequestInternal` which just returns the view, named by the configuration property `viewName`. Nothing more, nothing less

  Exposed configuration properties (and those defined by superclass):

  name | default | description
  viewName | null | the name of the view the viewResolver will use to forward to (if this property is not set, a null view name will be returned directing the caller to calculate the view name from the current request)

  Author:
    Rod Johnson, Juergen Hoeller, Keith Donald

- - ### Field Summary

    - ### Fields inherited from class org.springframework.web.servlet.support.WebContentGenerator

      `METHOD_GET, METHOD_HEAD, METHOD_POST`

    - ### Fields inherited from class org.springframework.context.support.ApplicationObjectSupport

      `logger`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `ParameterizableViewController()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `String` | `getViewName()` Return the name of the view to delegate to.
    `protected ModelAndView` | `handleRequestInternal(HttpServletRequest request, HttpServletResponse response)` Return a ModelAndView object with the specified view name.
    `void` | `setViewName(String viewName)` Set the name of the view to delegate to.

    - ### Methods inherited from class org.springframework.web.servlet.mvc.AbstractController

      `handleRequest, isSynchronizeOnSession, setSynchronizeOnSession`

    - ### Methods inherited from class org.springframework.web.servlet.support.WebContentGenerator

      `applyCacheSeconds, applyCacheSeconds, cacheForSeconds, cacheForSeconds, checkAndPrepare, checkAndPrepare, getCacheSeconds, getSupportedMethods, isAlwaysMustRevalidate, isRequireSession, isUseCacheControlHeader, isUseCacheControlNoStore, isUseExpiresHeader, preventCaching, setAlwaysMustRevalidate, setCacheSeconds, setRequireSession, setSupportedMethods, setUseCacheControlHeader, setUseCacheControlNoStore, setUseExpiresHeader`

    - ### Methods inherited from class org.springframework.web.context.support.WebApplicationObjectSupport

      `getServletContext, getTempDir, getWebApplicationContext, initApplicationContext, initServletContext, isContextRequired, setServletContext`

    - ### Methods inherited from class org.springframework.context.support.ApplicationObjectSupport

      `getApplicationContext, getMessageSourceAccessor, initApplicationContext, requiredContextClass, setApplicationContext`

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

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

- - ### Constructor Detail

    - #### ParameterizableViewController

          public ParameterizableViewController()

  - ### Method Detail

    - #### setViewName

          public void setViewName(String viewName)

      Set the name of the view to delegate to.

    - #### getViewName

          public String getViewName()

      Return the name of the view to delegate to.

    - #### handleRequestInternal

          protected ModelAndView handleRequestInternal(HttpServletRequest request,
                                                       HttpServletResponse response)
                                                throws Exception

      Return a ModelAndView object with the specified view name. The content of `RequestContextUtils.getInputFlashMap(javax.servlet.http.HttpServletRequest)` is also added to the model.
      Specified by:
        `handleRequestInternal` in class `AbstractController`
      Throws:
        `Exception`
      See Also:
        `getViewName()`