## org.springframework.web.servlet.view.xslt
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:
  ApplicationContextAware, Ordered, ServletContextAware, ViewResolver

    public class XsltViewResolver

extends UrlBasedViewResolver

`ViewResolver` implementation that resolves instances of `XsltView` 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.context.support.ApplicationObjectSupport
`logger`

Fields inherited from interface org.springframework.core.Ordered
`HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE`

Constructor Summary
`XsltViewResolver()`

Method Summary
`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 the `ErrorListener` 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, getOrder, getPrefix, getRequestContextAttribute, getSuffix, getViewClass, getViewNames, initApplicationContext, isRedirectContextRelative, isRedirectHttp10Compatible, loadView, setAttributes, setAttributesMap, setContentType, setOrder, setPrefix, setRedirectContextRelative, setRedirectHttp10Compatible, setRequestContextAttribute, setSuffix, setViewClass, setViewNames`

Methods inherited from class org.springframework.web.servlet.view.AbstractCachingViewResolver
`clearCache, isCache, isCacheUnresolved, removeFromCache, resolveViewName, setCache, 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`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### XsltViewResolver

    public XsltViewResolver()

Method Detail

### setSourceKey

    public void setSourceKey(String sourceKey)

  Set the name of the model attribute that represents the XSLT Source. If not specified, the model map will be searched for a matching value type.

  The following source types are supported out of the box: `Source`, `Document`, `Node`, `Reader`, `InputStream` and `Resource`.

### 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 the `ErrorListener` 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 to `false` (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.

  See Also:
    `Transformer.setOutputProperty(java.lang.String, java.lang.String)`

### 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.

### 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 class `UrlBasedViewResolver`
  See Also:
    `AbstractUrlBasedView`

### 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 class `UrlBasedViewResolver`
  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)`