The Spring Framework

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

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.AbstractView
              extended by org.springframework.web.servlet.view.AbstractUrlBasedView
                  extended by org.springframework.web.servlet.view.jasperreports.AbstractJasperReportsView
                      extended by org.springframework.web.servlet.view.jasperreports.AbstractJasperReportsSingleFormatView
All Implemented Interfaces:
BeanNameAware, InitializingBean, ApplicationContextAware, ServletContextAware, View
Direct Known Subclasses:
ConfigurableJasperReportsView, JasperReportsCsvView, JasperReportsHtmlView, JasperReportsPdfView, JasperReportsXlsView

public abstract class AbstractJasperReportsSingleFormatView
extends AbstractJasperReportsView

Extends AbstractJasperReportsView to provide basic rendering logic for views that use a fixed format, e.g. always PDF or always HTML.

Subclasses need to implement two template methods: createExporter to create a JasperReports exporter for a specific output format, and useWriter to determine whether to write text or binary content.

Since:
1.1.5
Author:
Rob Harrop, Juergen Hoeller
See Also:
createExporter(), useWriter()

Field Summary
 
Fields inherited from class org.springframework.web.servlet.view.jasperreports.AbstractJasperReportsView
CONTENT_DISPOSITION_INLINE, HEADER_CONTENT_DISPOSITION
 
Fields inherited from class org.springframework.web.servlet.view.AbstractView
DEFAULT_CONTENT_TYPE
 
Fields inherited from class org.springframework.context.support.ApplicationObjectSupport
logger
 
Constructor Summary
AbstractJasperReportsSingleFormatView()
           
 
Method Summary
protected abstract  net.sf.jasperreports.engine.JRExporter createExporter()
          Create a JasperReports exporter for a specific output format, which will be used to render the report to the HTTP response.
protected  Map mergeExporterParameters(Map model)
          Merges the configured JRExporterParameters with any specified in the supplied model data.
protected  void renderReport(net.sf.jasperreports.engine.JasperPrint populatedReport, Map model, HttpServletResponse response)
          Perform rendering for a single Jasper Reports exporter, that is, for a pre-defined output format.
protected abstract  boolean useWriter()
          Return whether to use a java.io.Writer to write text content to the HTTP response.
 
Methods inherited from class org.springframework.web.servlet.view.jasperreports.AbstractJasperReportsView
convertExporterParameters, convertParameterValue, convertReportData, convertToExporterParameter, exposeLocalizationContext, fillReport, getConvertedExporterParameters, getExporterParameter, getExporterParameters, getJdbcDataSource, getReport, getReportCompiler, getReportData, getReportDataTypes, initApplicationContext, isUrlRequired, loadReport, loadReport, onInit, postProcessReport, renderMergedOutputModel, setExporterParameters, setHeaders, setJdbcDataSource, setReportCompiler, setReportDataKey, setSubReportDataKeys, setSubReportUrls
 
Methods inherited from class org.springframework.web.servlet.view.AbstractUrlBasedView
afterPropertiesSet, getUrl, setUrl, toString
 
Methods inherited from class org.springframework.web.servlet.view.AbstractView
addStaticAttribute, createRequestContext, exposeModelAsRequestAttributes, getAttributesMap, getBeanName, getContentType, getRequestContextAttribute, getStaticAttributes, render, setAttributes, setAttributesCSV, setAttributesMap, setBeanName, setContentType, setRequestContextAttribute
 
Methods inherited from class org.springframework.web.context.support.WebApplicationObjectSupport
getServletContext, getTempDir, getWebApplicationContext, 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, wait, wait, wait
 

Constructor Detail

AbstractJasperReportsSingleFormatView

public AbstractJasperReportsSingleFormatView()
Method Detail

renderReport

protected void renderReport(net.sf.jasperreports.engine.JasperPrint populatedReport,
                            Map model,
                            HttpServletResponse response)
                     throws Exception
Perform rendering for a single Jasper Reports exporter, that is, for a pre-defined output format.

Specified by:
renderReport in class AbstractJasperReportsView
Parameters:
populatedReport - the populated JasperPrint to render
model - the map containing report parameters
response - the HTTP response the report should be rendered to
Throws:
Exception - if rendering failed
See Also:
AbstractView.getContentType(), ServletResponse.setContentType(java.lang.String), ServletResponse.setCharacterEncoding(java.lang.String)

mergeExporterParameters

protected Map mergeExporterParameters(Map model)
Merges the configured JRExporterParameters with any specified in the supplied model data. JRExporterParameters in the model override those specified in the configuration.

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

createExporter

protected abstract net.sf.jasperreports.engine.JRExporter createExporter()
Create a JasperReports exporter for a specific output format, which will be used to render the report to the HTTP response.

The useWriter method determines whether the output will be written as text or as binary content.

See Also:
useWriter()

useWriter

protected abstract boolean useWriter()
Return whether to use a java.io.Writer to write text content to the HTTP response. Else, a java.io.OutputStream will be used, to write binary content to the response.

See Also:
ServletResponse.getWriter(), ServletResponse.getOutputStream()

The Spring Framework

Copyright © 2002-2007 The Spring Framework.