Top Description Fields Methods
org.springframework.web.servlet

public Interface View

Known Direct Subinterfaces
org.springframework.web.servlet.SmartView
Known Direct Implementers
org.springframework.web.servlet.view.AbstractView
Imports
java.util.Map, jakarta.servlet.http.HttpServletRequest, .HttpServletResponse, org.springframework.lang.Nullable

MVC View for a web interaction. Implementations are responsible for rendering content, and exposing the model. A single view exposes multiple model attributes.

This class and the MVC approach associated with it is discussed in Chapter 12 of Expert One-On-One J2EE Design and Development by Rod Johnson (Wrox, 2002).

View implementations may differ widely. An obvious implementation would be JSP-based. Other implementations might be XSLT-based, or use an HTML generation library. This interface is designed to avoid restricting the range of possible implementations.

Views should be beans. They are likely to be instantiated as beans by a ViewResolver. As this interface is stateless, view implementations should be thread-safe.

Authors
Rod Johnson, Arjen Poutsma, Rossen Stoyanchev
See Also
org.springframework.web.servlet.view.AbstractView, org.springframework.web.servlet.view.InternalResourceView

Field Summary

Modifier and TypeField and Description
public static final String
PATH_VARIABLES

Name of the HttpServletRequest attribute that contains a Map with path variables.

public static final String
RESPONSE_STATUS_ATTRIBUTE

Name of the HttpServletRequest attribute that contains the response status code.

public static final String
SELECTED_CONTENT_TYPE

The org.springframework.http.MediaType selected during content negotiation, which may be more specific than the one the View is configured with.

Method Summary

Modifier and TypeMethod and Description
public default String

Returns:

the content type String (optionally including a character set), or null if not predetermined
getContentType
()

Return the content type of the view, if predetermined.

public void
render(Map<String, ?>
a Map with name Strings as keys and corresponding model objects as values (Map can also be null in case of empty model)
model
,
HttpServletRequest
current HTTP request
request
,
HttpServletResponse
he HTTP response we are building
response
)

Render the view given the specified model.

Field Detail

PATH_VARIABLESback to summary
public static final String PATH_VARIABLES

Name of the HttpServletRequest attribute that contains a Map with path variables. The map consists of String-based URI template variable names as keys and their corresponding Object-based values -- extracted from segments of the URL and type converted.

Note

This attribute is not required to be supported by all View implementations.

Since
3.1
RESPONSE_STATUS_ATTRIBUTEback to summary
public static final String RESPONSE_STATUS_ATTRIBUTE

Name of the HttpServletRequest attribute that contains the response status code.

Note

This attribute is not required to be supported by all View implementations.

Since
3.0
SELECTED_CONTENT_TYPEback to summary
public static final String SELECTED_CONTENT_TYPE

The org.springframework.http.MediaType selected during content negotiation, which may be more specific than the one the View is configured with. For example: "application/vnd.example-v1+xml" vs "application/*+xml".

Since
3.2

Method Detail

getContentTypeback to summary
public default String getContentType()

Return the content type of the view, if predetermined.

Can be used to check the view's content type upfront, i.e. before an actual rendering attempt.

Returns:String

the content type String (optionally including a character set), or null if not predetermined

Annotations
@Nullable
renderback to summary
public void render(Map<String, ?> model, HttpServletRequest request, HttpServletResponse response) throws Exception

Render the view given the specified model.

The first step will be preparing the request: In the JSP case, this would mean setting model objects as request attributes. The second step will be the actual rendering of the view, for example including the JSP via a RequestDispatcher.

Parameters
model:Map<String, ?>

a Map with name Strings as keys and corresponding model objects as values (Map can also be null in case of empty model)

request:HttpServletRequest

current HTTP request

response:HttpServletResponse

he HTTP response we are building

Exceptions
Exception:
if rendering failed