org.springframework.web.servlet.view.jasperreports

## Class JasperReportsViewResolver

- 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.jasperreports.JasperReportsViewResolver

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

      public class JasperReportsViewResolver
      extends UrlBasedViewResolver

  `ViewResolver` implementation that resolves instances of `AbstractJasperReportsView` by translating the supplied view name into the URL of the report file.
  Since:
    1.2.6
  Author:
    Rob Harrop

- - ### 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
    `JasperReportsViewResolver()`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected AbstractUrlBasedView` | `buildView(String viewName)` Creates a new View instance of the specified view class and configures it.
    `protected Class` | `requiredViewClass()` Requires the view class to be a subclass of `AbstractJasperReportsView`.
    `void` | `setExporterParameters(Map<String,Object> exporterParameters)` Set the `exporterParameters` the view class should use.
    `void` | `setHeaders(Properties headers)` Set the `headers` the view class should use.
    `void` | `setJdbcDataSource(DataSource jdbcDataSource)` Set the `DataSource` the view class should use.
    `void` | `setReportDataKey(String reportDataKey)` Set the `reportDataKey` the view class should use.
    `void` | `setSubReportDataKeys(String[] subReportDataKeys)` Set the `subReportDataKeys` the view class should use.
    `void` | `setSubReportUrls(Properties subReportUrls)` Set the `subReportUrls` the view class should use.

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

      `canHandle, createView, getAttributesMap, getCacheKey, getContentType, getOrder, getPrefix, getRequestContextAttribute, getSuffix, getViewClass, getViewNames, initApplicationContext, isRedirectContextRelative, isRedirectHttp10Compatible, loadView, setAttributes, setAttributesMap, setContentType, setExposePathVariables, setOrder, setPrefix, setRedirectContextRelative, setRedirectHttp10Compatible, setRequestContextAttribute, setSuffix, setViewClass, setViewNames`

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

      `clearCache, getCacheLimit, isCache, isCacheUnresolved, removeFromCache, resolveViewName, setCache, 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, requiredContextClass, setApplicationContext`

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

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

- - ### Constructor Detail

    - #### JasperReportsViewResolver

          public JasperReportsViewResolver()

  - ### Method Detail

    - #### requiredViewClass

          protected Class requiredViewClass()

      Requires the view class to be a subclass of `AbstractJasperReportsView`.
      Overrides:
        `requiredViewClass` in class `UrlBasedViewResolver`
      See Also:
        `AbstractUrlBasedView`

    - #### setReportDataKey

          public void setReportDataKey(String reportDataKey)

      Set the `reportDataKey` the view class should use.
      See Also:
        `AbstractJasperReportsView.setReportDataKey(java.lang.String)`

    - #### setSubReportUrls

          public void setSubReportUrls(Properties subReportUrls)

      Set the `subReportUrls` the view class should use.
      See Also:
        `AbstractJasperReportsView.setSubReportUrls(java.util.Properties)`

    - #### setSubReportDataKeys

          public void setSubReportDataKeys(String[] subReportDataKeys)

      Set the `subReportDataKeys` the view class should use.
      See Also:
        `AbstractJasperReportsView.setSubReportDataKeys(java.lang.String[])`

    - #### setHeaders

          public void setHeaders(Properties headers)

      Set the `headers` the view class should use.
      See Also:
        `AbstractJasperReportsView.setHeaders(java.util.Properties)`

    - #### setExporterParameters

          public void setExporterParameters(Map<String,Object> exporterParameters)

      Set the `exporterParameters` the view class should use.
      See Also:
        `AbstractJasperReportsView.setExporterParameters(java.util.Map<?, ?>)`

    - #### setJdbcDataSource

          public void setJdbcDataSource(DataSource jdbcDataSource)

      Set the `DataSource` the view class should use.
      See Also:
        `AbstractJasperReportsView.setJdbcDataSource(javax.sql.DataSource)`

    - #### buildView

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