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:
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.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, setOrder, setPrefix, setRedirectContextRelative, setRedirectHttp10Compatible, setRequestContextAttribute, setSuffix, setViewClass, setViewNames
 
Methods inherited from class org.springframework.web.servlet.view.AbstractCachingViewResolver
clearCache, isCache, removeFromCache, resolveViewName, setCache
 
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 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)