org.springframework.web.servlet.view

## Class XmlViewResolver

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

- All Implemented Interfaces:
    Aware, DisposableBean, InitializingBean, ApplicationContextAware, Ordered, ServletContextAware, ViewResolver

  Deprecated.
  as of 5.3, in favor of Spring's common view resolver variants and/or custom resolver implementations

      @Deprecated
      public class XmlViewResolver
      extends AbstractCachingViewResolver
      implements Ordered, InitializingBean, DisposableBean

  A `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`.

  Since:
    18.06.2003
  Author:
    Juergen Hoeller
  See Also:
    `ResourceLoader.getResource(java.lang.String)`, `UrlBasedViewResolver`, `BeanNameViewResolver`

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.springframework.web.servlet.view.AbstractCachingViewResolver

      `AbstractCachingViewResolver.CacheFilter`

  - ### Field Summary

    Fields
    Modifier and Type | Field and Description
    --- | ---
    `static String` | `DEFAULT_LOCATION` Deprecated. Default if no other location is supplied.

    - ### 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 and Description
    `XmlViewResolver()` Deprecated.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods Deprecated Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `afterPropertiesSet()` Deprecated. Pre-initialize the factory from the XML file.
    `void` | `destroy()` Deprecated. Close the view bean factory on context shutdown.
    `protected Object` | `getCacheKey(String viewName, Locale locale)` Deprecated. This implementation returns just the view name, as XmlViewResolver doesn't support localized resolution.
    `int` | `getOrder()` Deprecated. Get the order value of this object.
    `protected BeanFactory` | `initFactory()` Deprecated. Initialize the view bean factory from the XML file.
    `protected View` | `loadView(String viewName, Locale locale)` Deprecated. Subclasses must implement this method, building a View object for the specified view.
    `void` | `setLocation(Resource location)` Deprecated. Set the location of the XML file that defines the view beans.
    `void` | `setOrder(int order)` Deprecated. Specify the order value for this ViewResolver bean.

    - ### Methods inherited from class org.springframework.web.servlet.view.AbstractCachingViewResolver

      `clearCache, createView, getCacheFilter, getCacheLimit, isCache, isCacheUnresolved, removeFromCache, resolveViewName, setCache, setCacheFilter, 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, initApplicationContext, obtainApplicationContext, requiredContextClass, setApplicationContext`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Field Detail

    - #### DEFAULT_LOCATION

          public static final String DEFAULT_LOCATION

      Deprecated.
      Default if no other location is supplied.
      See Also:
        Constant Field Values

  - ### Constructor Detail

    - #### XmlViewResolver

          public XmlViewResolver()

      Deprecated.

  - ### Method Detail

    - #### setLocation

          public void setLocation(Resource location)

      Deprecated.
      Set the location of the XML file that defines the view beans.

      The default is "/WEB-INF/views.xml".

      Parameters:
        `location` - the location of the XML file.

    - #### setOrder

          public void setOrder(int order)

      Deprecated.
      Specify the order value for this ViewResolver bean.

      The default value is `Ordered.LOWEST_PRECEDENCE`, meaning non-ordered.

      See Also:
        `Ordered.getOrder()`

    - #### getOrder

          public int getOrder()

      Deprecated.
      Description copied from interface: `Ordered`
      Get the order value of this object.

      Higher values are interpreted as lower priority. As a consequence, the object with the lowest value has the highest priority (somewhat analogous to Servlet `load-on-startup` values).

      Same order values will result in arbitrary sort positions for the affected objects.

      Specified by:
        `getOrder` in interface `Ordered`
      Returns:
        the order value
      See Also:
        `Ordered.HIGHEST_PRECEDENCE`, `Ordered.LOWEST_PRECEDENCE`

    - #### afterPropertiesSet

          public void afterPropertiesSet()
                                  throws BeansException

      Deprecated.
      Pre-initialize the factory from the XML file. Only effective if caching is enabled.
      Specified by:
        `afterPropertiesSet` in interface `InitializingBean`
      Throws:
        `BeansException`

    - #### getCacheKey

          protected Object getCacheKey(String viewName,
                                       Locale locale)

      Deprecated.
      This implementation returns just the view name, as XmlViewResolver doesn't support localized resolution.
      Overrides:
        `getCacheKey` in class `AbstractCachingViewResolver`

    - #### loadView

          protected View loadView(String viewName,
                                  Locale locale)
                           throws BeansException

      Deprecated.
      Description copied from class: `AbstractCachingViewResolver`
      Subclasses must implement this method, building a View object for the specified view. The returned View objects will be cached by this ViewResolver base class.

      Subclasses are not forced to support internationalization: A subclass that does not may simply ignore the locale parameter.

      Specified by:
        `loadView` in class `AbstractCachingViewResolver`
      Parameters:
        `viewName` - the name of the view to retrieve
        `locale` - the Locale to retrieve the view for
      Returns:
        the View instance, or `null` if not found (optional, to allow for ViewResolver chaining)
      Throws:
        `BeansException`
      See Also:
        `AbstractCachingViewResolver.resolveViewName(java.lang.String, java.util.Locale)`

    - #### initFactory

          protected BeanFactory initFactory()
                                     throws BeansException

      Deprecated.
      Initialize the view bean factory from the XML file. Synchronized because of access by parallel threads.
      Throws:
        `BeansException` - in case of initialization errors

    - #### destroy

          public void destroy()
                       throws BeansException

      Deprecated.
      Close the view bean factory on context shutdown.
      Specified by:
        `destroy` in interface `DisposableBean`
      Throws:
        `BeansException`