public interface View
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.
AbstractView, 
InternalResourceView| Modifier and Type | Field and Description | 
|---|---|
static java.lang.String | 
PATH_VARIABLES
Name of the  
HttpServletRequest attribute that contains a Map with path variables. | 
static java.lang.String | 
RESPONSE_STATUS_ATTRIBUTE
Name of the  
HttpServletRequest attribute that contains the response status code. | 
static java.lang.String | 
SELECTED_CONTENT_TYPE
The  
MediaType selected during content negotiation,
 which may be more specific than the one the View is configured with. | 
| Modifier and Type | Method and Description | 
|---|---|
java.lang.String | 
getContentType()
Return the content type of the view, if predetermined. 
 | 
void | 
render(java.util.Map<java.lang.String,?> model,
      HttpServletRequest request,
      HttpServletResponse response)
Render the view given the specified model. 
 | 
static final java.lang.String RESPONSE_STATUS_ATTRIBUTE
HttpServletRequest attribute that contains the response status code.
 Note: This attribute is not required to be supported by all View implementations.
static final java.lang.String PATH_VARIABLES
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.
static final java.lang.String SELECTED_CONTENT_TYPE
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".java.lang.String getContentType()
Can be used to check the view's content type upfront, i.e. before an actual rendering attempt.
null if not predeterminedvoid render(java.util.Map<java.lang.String,?> model,
            HttpServletRequest request,
            HttpServletResponse response)
     throws java.lang.Exception
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.
model - Map with name Strings as keys and corresponding model
 objects as values (Map can also be null in case of empty model)request - current HTTP requestresponse - HTTP response we are buildingjava.lang.Exception - if rendering failed