Class XsltViewResolver
- 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.xslt.XsltViewResolver
- All Implemented Interfaces:
Aware
,ApplicationContextAware
,Ordered
,ServletContextAware
,ViewResolver
public class XsltViewResolver extends UrlBasedViewResolver
ViewResolver
implementation that resolves instances ofXsltView
by translating the supplied view name into the URL of the XSLT stylesheet.- Since:
- 2.0
- Author:
- Rob Harrop, Juergen Hoeller
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 XsltViewResolver()
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
setCacheTemplates(boolean cacheTemplates)
Turn on/off the caching of the XSLT templates.void
setErrorListener(ErrorListener errorListener)
Set an implementation of theErrorListener
interface for custom handling of transformation errors and warnings.void
setIndent(boolean indent)
Set whether the XSLT transformer may add additional whitespace when outputting the result tree.void
setOutputProperties(Properties outputProperties)
Set arbitrary transformer output properties to be applied to the stylesheet.void
setSourceKey(String sourceKey)
Set the name of the model attribute that represents the XSLT Source.void
setUriResolver(URIResolver uriResolver)
Set the URIResolver used in the transform.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
XsltViewResolver
public XsltViewResolver()
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
setSourceKey
public void setSourceKey(String sourceKey)
setUriResolver
public void setUriResolver(URIResolver uriResolver)
Set the URIResolver used in the transform.The URIResolver handles calls to the XSLT
document()
function.
setErrorListener
public void setErrorListener(ErrorListener errorListener)
Set an implementation of theErrorListener
interface for custom handling of transformation errors and warnings.If not set, a default
SimpleTransformErrorListener
is used that simply logs warnings using the logger instance of the view class, and rethrows errors to discontinue the XML transformation.- See Also:
SimpleTransformErrorListener
setIndent
public void setIndent(boolean indent)
Set whether the XSLT transformer may add additional whitespace when outputting the result tree.Default is
true
(on); set this tofalse
(off) to not specify an "indent" key, leaving the choice up to the stylesheet.- See Also:
OutputKeys.INDENT
setOutputProperties
public void setOutputProperties(Properties outputProperties)
Set arbitrary transformer output properties to be applied to the stylesheet.Any values specified here will override defaults that this view sets programmatically.
setCacheTemplates
public void setCacheTemplates(boolean cacheTemplates)
Turn on/off the caching of the XSLT templates.The default value is "true". Only set this to "false" in development, where caching does not seriously impact performance.
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)