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 String | PATH_VARIABLESName of the  HttpServletRequestattribute that contains a Map with path variables. | 
| static String | RESPONSE_STATUS_ATTRIBUTEName of the  HttpServletRequestattribute that contains the response status code. | 
| static String | SELECTED_CONTENT_TYPEThe  MediaTypeselected during content negotiation,
 which may be more specific than the one the View is configured with. | 
| Modifier and Type | Method and Description | 
|---|---|
| default String | getContentType()Return the content type of the view, if predetermined. | 
| void | render(Map<String,?> model,
      HttpServletRequest request,
      HttpServletResponse response)Render the view given the specified model. | 
static final 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 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.
@Nullable default 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(@Nullable Map<String,?> model, HttpServletRequest request, HttpServletResponse response) throws 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 - a 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 - he HTTP response we are buildingException - if rendering failed