Top Description Fields Constructors Methods
org.springframework.web.servlet.view.xslt

public Class XsltViewResolver

extends UrlBasedViewResolver
Class Inheritance
Imports
java.util.Properties, javax.xml.transform.ErrorListener, .URIResolver, org.springframework.lang.Nullable, org.springframework.web.servlet.view.AbstractUrlBasedView, .UrlBasedViewResolver

org.springframework.web.servlet.ViewResolver implementation that resolves instances of XsltView by translating the supplied view name into the URL of the XSLT stylesheet.
Authors
Rob Harrop, Juergen Hoeller
Since
2.0

Field Summary

Modifier and TypeField and Description
private boolean
private ErrorListener
private boolean
private Properties
private String
private URIResolver
Inherited from org.springframework.web.servlet.view.UrlBasedViewResolver:
FORWARD_URL_PREFIXREDIRECT_URL_PREFIX

Constructor Summary

AccessConstructor and Description
public
XsltViewResolver()

This resolver requires XsltView.

Method Summary

Modifier and TypeMethod and Description
protected AbstractUrlBasedView
buildView(String
the name of the view to build
viewName
)

Overrides org.springframework.web.servlet.view.UrlBasedViewResolver.buildView.

Creates a new View instance of the specified view class and configures it.

protected AbstractUrlBasedView
protected Class<?>
requiredViewClass()

Overrides org.springframework.web.servlet.view.UrlBasedViewResolver.requiredViewClass.

Return the required type of view for this resolver.

public void
setCacheTemplates(boolean cacheTemplates)

Turn on/off the caching of the XSLT templates.

public void
setErrorListener(ErrorListener errorListener)

Set an implementation of the javax.xml.transform.ErrorListener interface for custom handling of transformation errors and warnings.

public void
setIndent(boolean indent)

Set whether the XSLT transformer may add additional whitespace when outputting the result tree.

public void
setOutputProperties(Properties outputProperties)

Set arbitrary transformer output properties to be applied to the stylesheet.

public void
setSourceKey(String sourceKey)

Set the name of the model attribute that represents the XSLT Source.

public void
setUriResolver(URIResolver uriResolver)

Set the URIResolver used in the transform.

Inherited from org.springframework.web.servlet.view.UrlBasedViewResolver:
applyLifecycleMethodscanHandlecreateViewgetAttributesMapgetCacheKeygetContentTypegetExposeContextBeansAsAttributesgetExposedContextBeanNamesgetExposePathVariablesgetOrdergetPrefixgetRedirectHostsgetRequestContextAttributegetSuffixgetViewClassgetViewNamesinitApplicationContextisRedirectContextRelativeisRedirectHttp10CompatibleloadViewsetAttributessetAttributesMapsetContentTypesetExposeContextBeansAsAttributessetExposedContextBeanNamessetExposePathVariablessetOrdersetPrefixsetRedirectContextRelativesetRedirectHostssetRedirectHttp10CompatiblesetRequestContextAttributesetSuffixsetViewClasssetViewNames

Field Detail

cacheTemplatesback to summary
private boolean cacheTemplates
errorListenerback to summary
private ErrorListener errorListener
Annotations
@Nullable
indentback to summary
private boolean indent
outputPropertiesback to summary
private Properties outputProperties
Annotations
@Nullable
sourceKeyback to summary
private String sourceKey
Annotations
@Nullable
uriResolverback to summary
private URIResolver uriResolver
Annotations
@Nullable

Constructor Detail

XsltViewResolverback to summary
public XsltViewResolver()

This resolver requires XsltView.

Method Detail

buildViewback to summary
protected AbstractUrlBasedView buildView(String viewName) throws Exception

Overrides org.springframework.web.servlet.view.UrlBasedViewResolver.buildView.

Doc from org.springframework.web.servlet.view.UrlBasedViewResolver.buildView.

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.

Parameters
viewName:String

the name of the view to build

Returns:AbstractUrlBasedView

the View instance

Annotations
@Override
Exceptions
Exception:
if the view couldn't be resolved
instantiateViewback to summary
protected AbstractUrlBasedView instantiateView()

Overrides org.springframework.web.servlet.view.UrlBasedViewResolver.instantiateView.

Doc from org.springframework.web.servlet.view.UrlBasedViewResolver.instantiateView.

Instantiate the specified view class.

The default implementation uses reflection to instantiate the class.

Returns:AbstractUrlBasedView

a new instance of the view class

Annotations
@Override
requiredViewClassback to summary
protected Class<?> requiredViewClass()

Overrides org.springframework.web.servlet.view.UrlBasedViewResolver.requiredViewClass.

Doc from org.springframework.web.servlet.view.UrlBasedViewResolver.requiredViewClass.

Return the required type of view for this resolver. This implementation returns AbstractUrlBasedView.

Annotations
@Override
setCacheTemplatesback to summary
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.

setErrorListenerback to summary
public void setErrorListener(ErrorListener errorListener)

Set an implementation of the javax.xml.transform.ErrorListener interface for custom handling of transformation errors and warnings.

If not set, a default org.springframework.util.xml.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
org.springframework.util.xml.SimpleTransformErrorListener
setIndentback to summary
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
javax.xml.transform.OutputKeys#INDENT
setOutputPropertiesback to summary
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
javax.xml.transform.Transformer#setOutputProperty
setSourceKeyback to summary
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: javax.xml.transform.Source, org.w3c.dom.Document, org.w3c.dom.Node, java.io.Reader, java.io.InputStream and org.springframework.core.io.Resource.

setUriResolverback to summary
public void setUriResolver(URIResolver uriResolver)

Set the URIResolver used in the transform.

The URIResolver handles calls to the XSLT document() function.