public class TilesView extends AbstractUrlBasedView
View
implementation that retrieves a
Tiles definition. The "url" property is interpreted as name of a Tiles definition.
This class builds on Tiles2, which requires JSP 2.0. JSTL support is integrated out of the box due to JSTL's inclusion in JSP 2.0. Note: Spring 3.0 requires Tiles 2.1.2 or above.
Depends on a TilesContainer which must be available in
the ServletContext. This container is typically set up via a
TilesConfigurer
bean definition in the application context.
AbstractUrlBasedView.setUrl(java.lang.String)
,
TilesConfigurer
DEFAULT_CONTENT_TYPE
logger
PATH_VARIABLES, RESPONSE_STATUS_ATTRIBUTE, SELECTED_CONTENT_TYPE
Constructor and Description |
---|
TilesView() |
Modifier and Type | Method and Description |
---|---|
boolean |
checkResource(Locale locale)
Check whether the underlying resource that the configured URL points to
actually exists.
|
protected void |
initServletContext(ServletContext sc)
Checks whether we need to explicitly expose the Servlet 2.4 request attributes
by default.
|
protected void |
renderMergedOutputModel(Map<String,Object> model,
HttpServletRequest request,
HttpServletResponse response)
Subclasses must implement this method to actually render the view.
|
afterPropertiesSet, getUrl, isUrlRequired, setUrl, toString
addStaticAttribute, createMergedOutputModel, createRequestContext, createTemporaryOutputStream, exposeModelAsRequestAttributes, generatesDownloadContent, getAttributesMap, getBeanName, getContentType, getRequestContextAttribute, getStaticAttributes, isExposePathVariables, prepareResponse, render, setAttributes, setAttributesCSV, setAttributesMap, setBeanName, setContentType, setExposePathVariables, setRequestContextAttribute, setResponseContentType, writeToResponse
getServletContext, getTempDir, getWebApplicationContext, initApplicationContext, isContextRequired, setServletContext
getApplicationContext, getMessageSourceAccessor, initApplicationContext, requiredContextClass, setApplicationContext
protected void initServletContext(ServletContext sc)
This will be done by default on Servlet containers up until 2.4, and skipped for Servlet 2.5 and above. Note that Servlet containers at 2.4 level and above should expose those attributes automatically! This feature exists for Servlet 2.3 containers and misbehaving 2.4 containers only.
initServletContext
in class WebApplicationObjectSupport
sc
- the ServletContext that this application object runs in
(never null
)public boolean checkResource(Locale locale) throws Exception
AbstractUrlBasedView
checkResource
in class AbstractUrlBasedView
locale
- the desired Locale that we're looking fortrue
if the resource exists (or is assumed to exist);
false
if we know that it does not existException
- if the resource exists but is invalid (e.g. could not be parsed)protected void renderMergedOutputModel(Map<String,Object> model, HttpServletRequest request, HttpServletResponse response) throws Exception
AbstractView
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.
renderMergedOutputModel
in class AbstractView
model
- combined output Map (never null
),
with dynamic values taking precedence over static attributesrequest
- current HTTP requestresponse
- current HTTP responseException
- if rendering failed