public class XmlViewResolver extends AbstractCachingViewResolver implements org.springframework.core.Ordered, org.springframework.beans.factory.InitializingBean, org.springframework.beans.factory.DisposableBean
ViewResolver
implementation that uses
bean definitions in a dedicated XML file for view definitions, specified by
resource location. The file will typically be located in the WEB-INF directory;
the default is "/WEB-INF/views.xml".
This ViewResolver
does not support internationalization at the level
of its definition resources. Consider ResourceBundleViewResolver
if you
need to apply different view resources per locale.
Note: This ViewResolver
implements the Ordered
interface
in order to allow for flexible participation in ViewResolver
chaining.
For example, some special views could be defined via this ViewResolver
(giving it 0 as "order" value), while all remaining views could be resolved by
a UrlBasedViewResolver
.
ResourceLoader.getResource(java.lang.String)
,
ResourceBundleViewResolver
,
UrlBasedViewResolver
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
DEFAULT_LOCATION
Default if no other location is supplied.
|
DEFAULT_CACHE_LIMIT
Constructor and Description |
---|
XmlViewResolver() |
Modifier and Type | Method and Description |
---|---|
void |
afterPropertiesSet()
Pre-initialize the factory from the XML file.
|
void |
destroy()
Close the view bean factory on context shutdown.
|
protected java.lang.Object |
getCacheKey(java.lang.String viewName,
java.util.Locale locale)
This implementation returns just the view name,
as XmlViewResolver doesn't support localized resolution.
|
int |
getOrder() |
protected org.springframework.beans.factory.BeanFactory |
initFactory()
Initialize the view bean factory from the XML file.
|
protected View |
loadView(java.lang.String viewName,
java.util.Locale locale)
Subclasses must implement this method, building a View object
for the specified view.
|
void |
setLocation(org.springframework.core.io.Resource location)
Set the location of the XML file that defines the view beans.
|
void |
setOrder(int order)
Specify the order value for this ViewResolver bean.
|
clearCache, createView, getCacheLimit, isCache, isCacheUnresolved, removeFromCache, resolveViewName, setCache, setCacheLimit, setCacheUnresolved
getServletContext, getTempDir, getWebApplicationContext, initApplicationContext, initServletContext, isContextRequired, setServletContext
public static final java.lang.String DEFAULT_LOCATION
public void setLocation(org.springframework.core.io.Resource location)
The default is "/WEB-INF/views.xml".
location
- the location of the XML file.public void setOrder(int order)
The default value is Ordered.LOWEST_PRECEDENCE
, meaning non-ordered.
Ordered.getOrder()
public int getOrder()
getOrder
in interface org.springframework.core.Ordered
public void afterPropertiesSet() throws org.springframework.beans.BeansException
afterPropertiesSet
in interface org.springframework.beans.factory.InitializingBean
org.springframework.beans.BeansException
protected java.lang.Object getCacheKey(java.lang.String viewName, java.util.Locale locale)
getCacheKey
in class AbstractCachingViewResolver
protected View loadView(java.lang.String viewName, java.util.Locale locale) throws org.springframework.beans.BeansException
AbstractCachingViewResolver
Subclasses are not forced to support internationalization: A subclass that does not may simply ignore the locale parameter.
loadView
in class AbstractCachingViewResolver
viewName
- the name of the view to retrievelocale
- the Locale to retrieve the view fornull
if not found
(optional, to allow for ViewResolver chaining)org.springframework.beans.BeansException
AbstractCachingViewResolver.resolveViewName(java.lang.String, java.util.Locale)
protected org.springframework.beans.factory.BeanFactory initFactory() throws org.springframework.beans.BeansException
org.springframework.beans.BeansException
- in case of initialization errorspublic void destroy() throws org.springframework.beans.BeansException
destroy
in interface org.springframework.beans.factory.DisposableBean
org.springframework.beans.BeansException