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

Method Summary
`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)`