org.springframework.web.servlet.view.jasperreports
Class JasperReportsViewResolver

java.lang.Object
  extended by org.springframework.context.support.ApplicationObjectSupport
      extended by org.springframework.web.context.support.WebApplicationObjectSupport
          extended by org.springframework.web.servlet.view.AbstractCachingViewResolver
              extended by org.springframework.web.servlet.view.UrlBasedViewResolver
                  extended by 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
private  java.util.Map<java.lang.String,java.lang.Object> exporterParameters
           
private  java.util.Properties headers
           
private  javax.sql.DataSource jdbcDataSource
           
private  java.lang.String reportDataKey
           
private  java.lang.String[] subReportDataKeys
           
private  java.util.Properties subReportUrls
           
 
Fields inherited from class org.springframework.web.servlet.view.UrlBasedViewResolver
FORWARD_URL_PREFIX, REDIRECT_URL_PREFIX
 
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(java.lang.String viewName)
          Creates a new View instance of the specified view class and configures it.
protected  java.lang.Class requiredViewClass()
          Requires the view class to be a subclass of AbstractJasperReportsView.
 void setExporterParameters(java.util.Map<java.lang.String,java.lang.Object> exporterParameters)
          Set the exporterParameters the view class should use.
 void setHeaders(java.util.Properties headers)
          Set the headers the view class should use.
 void setJdbcDataSource(javax.sql.DataSource jdbcDataSource)
          Set the DataSource the view class should use.
 void setReportDataKey(java.lang.String reportDataKey)
          Set the reportDataKey the view class should use.
 void setSubReportDataKeys(java.lang.String[] subReportDataKeys)
          Set the subReportDataKeys the view class should use.
 void setSubReportUrls(java.util.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, isCache, isCacheUnresolved, removeFromCache, resolveViewName, setCache, 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
 

Field Detail

reportDataKey

private java.lang.String reportDataKey

subReportUrls

private java.util.Properties subReportUrls

subReportDataKeys

private java.lang.String[] subReportDataKeys

headers

private java.util.Properties headers

exporterParameters

private java.util.Map<java.lang.String,java.lang.Object> exporterParameters

jdbcDataSource

private javax.sql.DataSource jdbcDataSource
Constructor Detail

JasperReportsViewResolver

public JasperReportsViewResolver()
Method Detail

requiredViewClass

protected java.lang.Class requiredViewClass()
Requires the view class to be a subclass of AbstractJasperReportsView.

Overrides:
requiredViewClass in class UrlBasedViewResolver
See Also:
AbstractUrlBasedView

setReportDataKey

public void setReportDataKey(java.lang.String reportDataKey)
Set the reportDataKey the view class should use.

See Also:
AbstractJasperReportsView.setReportDataKey(java.lang.String)

setSubReportUrls

public void setSubReportUrls(java.util.Properties subReportUrls)
Set the subReportUrls the view class should use.

See Also:
AbstractJasperReportsView.setSubReportUrls(java.util.Properties)

setSubReportDataKeys

public void setSubReportDataKeys(java.lang.String[] subReportDataKeys)
Set the subReportDataKeys the view class should use.

See Also:
AbstractJasperReportsView.setSubReportDataKeys(java.lang.String[])

setHeaders

public void setHeaders(java.util.Properties headers)
Set the headers the view class should use.

See Also:
AbstractJasperReportsView.setHeaders(java.util.Properties)

setExporterParameters

public void setExporterParameters(java.util.Map<java.lang.String,java.lang.Object> exporterParameters)
Set the exporterParameters the view class should use.

See Also:
AbstractJasperReportsView.setExporterParameters(java.util.Map)

setJdbcDataSource

public void setJdbcDataSource(javax.sql.DataSource jdbcDataSource)
Set the DataSource the view class should use.

See Also:
AbstractJasperReportsView.setJdbcDataSource(javax.sql.DataSource)

buildView

protected AbstractUrlBasedView buildView(java.lang.String viewName)
                                  throws java.lang.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:
java.lang.Exception - if the view couldn't be resolved
See Also:
UrlBasedViewResolver.loadView(String, java.util.Locale)