Class AbstractTemplateViewResolver
- java.lang.Object
- org.springframework.context.support.ApplicationObjectSupport
- org.springframework.web.context.support.WebApplicationObjectSupport
- org.springframework.web.servlet.view.AbstractCachingViewResolver
- org.springframework.web.servlet.view.UrlBasedViewResolver
- org.springframework.web.servlet.view.AbstractTemplateViewResolver
- All Implemented Interfaces:
Aware
,ApplicationContextAware
,Ordered
,ServletContextAware
,ViewResolver
- Direct Known Subclasses:
FreeMarkerViewResolver
,GroovyMarkupViewResolver
,VelocityViewResolver
public abstract class AbstractTemplateViewResolver extends UrlBasedViewResolver
Abstract base class for template view resolvers, in particular for Velocity and FreeMarker views.Provides a convenient way to specify
AbstractTemplateView
's exposure flags for request attributes, session attributes, and Spring's macro helpers.- Since:
- 1.1
- Author:
- Juergen Hoeller
- See Also:
AbstractTemplateView
,VelocityViewResolver
,FreeMarkerViewResolver
Field Summary
Fields inherited from class org.springframework.web.servlet.view.UrlBasedViewResolver
FORWARD_URL_PREFIX, REDIRECT_URL_PREFIX
Fields inherited from class org.springframework.web.servlet.view.AbstractCachingViewResolver
DEFAULT_CACHE_LIMIT
Fields inherited from class org.springframework.context.support.ApplicationObjectSupport
logger
Fields inherited from interface org.springframework.core.Ordered
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE
Constructor Summary
Constructors Constructor Description AbstractTemplateViewResolver()
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected AbstractUrlBasedView
buildView(String viewName)
Creates a new View instance of the specified view class and configures it.protected Class<?>
requiredViewClass()
Return the required type of view for this resolver.void
setAllowRequestOverride(boolean allowRequestOverride)
Set whether HttpServletRequest attributes are allowed to override (hide) controller generated model attributes of the same name.void
setAllowSessionOverride(boolean allowSessionOverride)
Set whether HttpSession attributes are allowed to override (hide) controller generated model attributes of the same name.void
setExposeRequestAttributes(boolean exposeRequestAttributes)
Set whether all request attributes should be added to the model prior to merging with the template.void
setExposeSessionAttributes(boolean exposeSessionAttributes)
Set whether all HttpSession attributes should be added to the model prior to merging with the template.void
setExposeSpringMacroHelpers(boolean exposeSpringMacroHelpers)
Set whether to expose a RequestContext for use by Spring's macro library, under the name "springMacroRequestContext".Methods inherited from class org.springframework.web.servlet.view.UrlBasedViewResolver
canHandle, createView, getAttributesMap, getCacheKey, getContentType, getExposeContextBeansAsAttributes, getExposedContextBeanNames, getExposePathVariables, getOrder, getPrefix, getRedirectHosts, getRequestContextAttribute, getSuffix, getViewClass, getViewNames, initApplicationContext, isRedirectContextRelative, isRedirectHttp10Compatible, loadView, setAttributes, setAttributesMap, setContentType, setExposeContextBeansAsAttributes, setExposedContextBeanNames, setExposePathVariables, setOrder, setPrefix, setRedirectContextRelative, setRedirectHosts, setRedirectHttp10Compatible, setRequestContextAttribute, setSuffix, setViewClass, setViewNames
Methods inherited from class org.springframework.web.servlet.view.AbstractCachingViewResolver
clearCache, getCacheLimit, isCache, isCacheUnresolved, removeFromCache, resolveViewName, setCache, setCacheLimit, setCacheUnresolved
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, requiredContextClass, setApplicationContext
Constructor Detail
AbstractTemplateViewResolver
public AbstractTemplateViewResolver()
Method Detail
requiredViewClass
protected Class<?> requiredViewClass()
Description copied from class:UrlBasedViewResolver
Return the required type of view for this resolver. This implementation returns AbstractUrlBasedView.- Overrides:
requiredViewClass
in classUrlBasedViewResolver
- See Also:
AbstractUrlBasedView
setExposeRequestAttributes
public void setExposeRequestAttributes(boolean exposeRequestAttributes)
Set whether all request attributes should be added to the model prior to merging with the template. Default is "false".
setAllowRequestOverride
public void setAllowRequestOverride(boolean allowRequestOverride)
Set whether HttpServletRequest attributes are allowed to override (hide) controller generated model attributes of the same name. Default is "false", which causes an exception to be thrown if request attributes of the same name as model attributes are found.
setExposeSessionAttributes
public void setExposeSessionAttributes(boolean exposeSessionAttributes)
Set whether all HttpSession attributes should be added to the model prior to merging with the template. Default is "false".
setAllowSessionOverride
public void setAllowSessionOverride(boolean allowSessionOverride)
Set whether HttpSession attributes are allowed to override (hide) controller generated model attributes of the same name. Default is "false", which causes an exception to be thrown if session attributes of the same name as model attributes are found.
setExposeSpringMacroHelpers
public void setExposeSpringMacroHelpers(boolean exposeSpringMacroHelpers)
Set whether to expose a RequestContext for use by Spring's macro library, under the name "springMacroRequestContext". Default is "true".
buildView
protected AbstractUrlBasedView buildView(String viewName) throws Exception
Description copied from class:UrlBasedViewResolver
Creates a new View instance of the specified view class and configures it. Does not perform any lookup for pre-defined View instances.Spring lifecycle methods as defined by the bean container do not have to be called here; those will be applied by the
loadView
method after this method returns.Subclasses will typically call
super.buildView(viewName)
first, before setting further properties themselves.loadView
will then apply Spring lifecycle methods at the end of this process.- Overrides:
buildView
in classUrlBasedViewResolver
- Parameters:
viewName
- the name of the view to build- Returns:
- the View instance
- Throws:
Exception
- if the view couldn't be resolved- See Also:
UrlBasedViewResolver.loadView(String, java.util.Locale)