org.springframework.web.servlet.view.tiles3

## Class TilesViewResolver

- 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.tiles3.TilesViewResolver

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

      public class TilesViewResolver
      extends UrlBasedViewResolver

  Convenience subclass of `UrlBasedViewResolver` that supports `TilesView` (i.e. Tiles definitions) and custom subclasses of it.
  Since:
    3.2
  Author:
    Nicolas Le Bas, Rossen Stoyanchev, Juergen Hoeller, Sebastien Deleuze

- - ### Nested Class Summary

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

      `AbstractCachingViewResolver.CacheFilter`

  - ### 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 and Description
    `TilesViewResolver()` This resolver requires `TilesView`.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected TilesView` | `buildView(String viewName)` Creates a new View instance of the specified view class and configures it.
    `protected AbstractUrlBasedView` | `instantiateView()` Instantiate the specified view class.
    `protected Class<?>` | `requiredViewClass()` Return the required type of view for this resolver.
    `void` | `setAlwaysInclude(Boolean alwaysInclude)` Specify whether to always include the view rather than forward to it.
    `void` | `setRenderer(Renderer renderer)` Set the `Renderer` to use.

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

      `applyLifecycleMethods, 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, 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, obtainApplicationContext, requiredContextClass, setApplicationContext`

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

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

- - ### Constructor Detail

    - #### TilesViewResolver

          public TilesViewResolver()

      This resolver requires `TilesView`.

  - ### Method Detail

    - #### setRenderer

          public void setRenderer(Renderer renderer)

      Set the `Renderer` to use. If not specified, a default `DefinitionRenderer` will be used.
      See Also:
        `TilesView.setRenderer(Renderer)`

    - #### setAlwaysInclude

          public void setAlwaysInclude(Boolean alwaysInclude)

      Specify whether to always include the view rather than forward to it.

      Default is "false". Switch this flag on to enforce the use of a Servlet include, even if a forward would be possible.

      Since:
        4.1.2
      See Also:
        `TilesView.setAlwaysInclude(boolean)`

    - #### 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:
        `UrlBasedViewResolver.instantiateView()`, `AbstractUrlBasedView`

    - #### instantiateView

          protected AbstractUrlBasedView instantiateView()

      Description copied from class: `UrlBasedViewResolver`
      Instantiate the specified view class.

      The default implementation uses reflection to instantiate the class.

      Overrides:
        `instantiateView` in class `UrlBasedViewResolver`
      Returns:
        a new instance of the view class
      See Also:
        `UrlBasedViewResolver.setViewClass(java.lang.Class<?>)`

    - #### buildView

          protected TilesView 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)`