org.springframework.web.servlet.view

## Class AbstractUrlBasedView

- java.lang.Object
- - org.springframework.context.support.ApplicationObjectSupport
  - - org.springframework.web.context.support.WebApplicationObjectSupport
    - - org.springframework.web.servlet.view.AbstractView
      - - org.springframework.web.servlet.view.AbstractUrlBasedView

- All Implemented Interfaces:
    Aware, BeanNameAware, InitializingBean, ApplicationContextAware, ServletContextAware, View
  Direct Known Subclasses:
    AbstractJasperReportsView, AbstractPdfStamperView, AbstractTemplateView, InternalResourceView, RedirectView, TilesView, TilesView, XsltView

      public abstract class AbstractUrlBasedView
      extends AbstractView
      implements InitializingBean

  Abstract base class for URL-based views. Provides a consistent way of holding the URL that a View wraps, in the form of a "url" bean property.
  Since:
    13.12.2003
  Author:
    Juergen Hoeller

- - ### Field Summary

    - ### Fields inherited from class org.springframework.web.servlet.view.AbstractView

      `DEFAULT_CONTENT_TYPE`

    - ### Fields inherited from class org.springframework.context.support.ApplicationObjectSupport

      `logger`

    - ### Fields inherited from interface org.springframework.web.servlet.View

      `PATH_VARIABLES, RESPONSE_STATUS_ATTRIBUTE, SELECTED_CONTENT_TYPE`

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `AbstractUrlBasedView()` Constructor for use as a bean.
    `protected` | `AbstractUrlBasedView(String url)` Create a new AbstractUrlBasedView with the given URL.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `afterPropertiesSet()` Invoked by a BeanFactory after it has set all bean properties supplied (and satisfied BeanFactoryAware and ApplicationContextAware).
    `boolean` | `checkResource(Locale locale)` Check whether the underlying resource that the configured URL points to actually exists.
    `String` | `getUrl()` Return the URL of the resource that this view wraps.
    `protected boolean` | `isUrlRequired()` Return whether the 'url' property is required.
    `void` | `setUrl(String url)` Set the URL of the resource that this view wraps.
    `String` | `toString()`

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

      `addStaticAttribute, createMergedOutputModel, createRequestContext, createTemporaryOutputStream, exposeModelAsRequestAttributes, generatesDownloadContent, getAttributesMap, getBeanName, getContentType, getRequestContextAttribute, getStaticAttributes, isExposePathVariables, prepareResponse, render, renderMergedOutputModel, setAttributes, setAttributesCSV, setAttributesMap, setBeanName, setContentType, setExposePathVariables, setRequestContextAttribute, setResponseContentType, writeToResponse`

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

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

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

- - ### Constructor Detail

    - #### AbstractUrlBasedView

          protected AbstractUrlBasedView()

      Constructor for use as a bean.

    - #### AbstractUrlBasedView

          protected AbstractUrlBasedView(String url)

      Create a new AbstractUrlBasedView with the given URL.
      Parameters:
        `url` - the URL to forward to

  - ### Method Detail

    - #### setUrl

          public void setUrl(String url)

      Set the URL of the resource that this view wraps. The URL must be appropriate for the concrete View implementation.

    - #### getUrl

          public String getUrl()

      Return the URL of the resource that this view wraps.

    - #### afterPropertiesSet

          public void afterPropertiesSet()
                                  throws Exception

      Description copied from interface: `InitializingBean`
      Invoked by a BeanFactory after it has set all bean properties supplied (and satisfied BeanFactoryAware and ApplicationContextAware).

      This method allows the bean instance to perform initialization only possible when all bean properties have been set and to throw an exception in the event of misconfiguration.

      Specified by:
        `afterPropertiesSet` in interface `InitializingBean`
      Throws:
        `Exception` - in the event of misconfiguration (such as failure to set an essential property) or if initialization fails.

    - #### isUrlRequired

          protected boolean isUrlRequired()

      Return whether the 'url' property is required.

      The default implementation returns `true`. This can be overridden in subclasses.

    - #### checkResource

          public boolean checkResource(Locale locale)
                                throws Exception

      Check whether the underlying resource that the configured URL points to actually exists.
      Parameters:
        `locale` - the desired Locale that we're looking for
      Returns:
        `true` if the resource exists (or is assumed to exist); `false` if we know that it does not exist
      Throws:
        `Exception` - if the resource exists but is invalid (e.g. could not be parsed)

    - #### toString

          public String toString()

      Overrides:
        `toString` in class `AbstractView`