Package 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:
  `org.springframework.beans.factory.Aware`, `org.springframework.context.ApplicationContextAware`, `org.springframework.web.context.ServletContextAware`, `Controller`

public class ParameterizableViewController extends AbstractController
Trivial controller that always returns a pre-configured view and optionally sets the response status code. The view and status can be configured using the provided configuration properties.

Author:
  Rod Johnson, Juergen Hoeller, Keith Donald, Rossen Stoyanchev

## Field Summary

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

`HEADER_CACHE_CONTROL, METHOD_GET, METHOD_HEAD, METHOD_POST`

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

`logger`

## Constructor Summary

Constructors
Constructor
Description
`ParameterizableViewController()`

## Method Summary

Modifier and Type
Method
Description
`org.springframework.http.HttpStatusCode`
`getStatusCode()`
Return the configured HTTP status code or `null`.
`View`
`getView()`
Return the View object, or `null` if we are using a view name to be resolved by the DispatcherServlet via a ViewResolver.
`String`
`getViewName()`
Return the name of the view to delegate to, or `null` if using a View instance.
`protected ModelAndView`
`handleRequestInternal(HttpServletRequest request, HttpServletResponse response)`
Return a ModelAndView object with the specified view name.
`boolean`
`isStatusOnly()`
Whether the request is fully handled within the controller.
`void`
`setStatusCode(org.springframework.http.HttpStatusCode statusCode)`
Configure the HTTP status code that this controller should set on the response.
`void`
`setStatusOnly(boolean statusOnly)`
The property can be used to indicate the request is considered fully handled within the controller and that no view should be used for rendering.
`void`
`setView(View view)`
Set a View object for the ModelAndView to return.
`void`
`setViewName(String viewName)`
Set a view name for the ModelAndView to return, to be resolved by the DispatcherServlet via a ViewResolver.
`String`
`toString()`

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

`handleRequest, isSynchronizeOnSession, setSynchronizeOnSession`

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

`applyCacheControl, applyCacheSeconds, checkAndPrepare, checkRequest, getAllowHeader, getCacheControl, getCacheSeconds, getSupportedMethods, getVaryByRequestHeaders, isRequireSession, prepareResponse, setCacheControl, setCacheSeconds, setRequireSession, setSupportedMethods, setVaryByRequestHeaders`

### 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, obtainApplicationContext, requiredContextClass, setApplicationContext`

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

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

## Constructor Details

### ParameterizableViewController

public ParameterizableViewController()

## Method Details

### setViewName

public void setViewName(@Nullable String viewName)
Set a view name for the ModelAndView to return, to be resolved by the DispatcherServlet via a ViewResolver. Will override any pre-existing view name or View.

### getViewName

@Nullable public String getViewName()
Return the name of the view to delegate to, or `null` if using a View instance.

### setView

public void setView(View view)
Set a View object for the ModelAndView to return. Will override any pre-existing view name or View.

Since:
  4.1

### getView

@Nullable public View getView()
Return the View object, or `null` if we are using a view name to be resolved by the DispatcherServlet via a ViewResolver.

Since:
  4.1

### setStatusCode

public void setStatusCode(@Nullable org.springframework.http.HttpStatusCode statusCode)
Configure the HTTP status code that this controller should set on the response.

When a "redirect:" prefixed view name is configured, there is no need to set this property since RedirectView will do that. However, this property may still be used to override the 3xx status code of `RedirectView`. For full control over redirecting provide a `RedirectView` instance.

If the status code is 204 and no view is configured, the request is fully handled within the controller.

Since:
  4.1

### getStatusCode

@Nullable public org.springframework.http.HttpStatusCode getStatusCode()
Return the configured HTTP status code or `null`.

Since:
  4.1

### setStatusOnly

public void setStatusOnly(boolean statusOnly)
The property can be used to indicate the request is considered fully handled within the controller and that no view should be used for rendering. Useful in combination with `setStatusCode(org.springframework.http.HttpStatusCode)`.

By default this is set to `false`.

Since:
  4.1

### isStatusOnly

public boolean isStatusOnly()
Whether the request is fully handled within the controller.

### handleRequestInternal

@Nullable protected ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception
Return a ModelAndView object with the specified view name.

The content of the `"input" FlashMap` is also added to the model.

Specified by:
  `handleRequestInternal` in class `AbstractController`
Throws:
  `Exception`
See Also:
  - `getViewName()`

### toString

public String toString()

Overrides:
  `toString` in class `Object`