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

java.lang.Object
  extended byorg.springframework.context.support.ApplicationObjectSupport
      extended byorg.springframework.web.context.support.WebApplicationObjectSupport
          extended byorg.springframework.web.servlet.view.AbstractView
              extended byorg.springframework.web.servlet.view.AbstractUrlBasedView
                  extended byorg.springframework.web.servlet.view.jasperreports.AbstractJasperReportsView
                      extended byorg.springframework.web.servlet.view.jasperreports.AbstractJasperReportsSingleFormatView
All Implemented Interfaces:
ApplicationContextAware, BeanNameAware, View
Direct Known Subclasses:
JasperReportsCsvView, JasperReportsHtmlView, JasperReportsPdfView, JasperReportsXlsView

public abstract class AbstractJasperReportsSingleFormatView
extends AbstractJasperReportsView

Extends AbstractJasperReportsView to provide basic rendering logic for views that are fixed format, i.e. 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
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.JRAbstractExporter createExporter()
          Create a JasperReports exporter for a specific output format, which will be used to render the report to the HTTP response.
protected  void renderReport(net.sf.jasperreports.engine.JasperReport report, Map parameters, net.sf.jasperreports.engine.JRDataSource dataSource, HttpServletResponse response)
          Perform rendering for a single Jasper Reports exporter, i.e. 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
convertReportData, convertToExporterParameter, getExporterParameters, getReport, getReportCompiler, getReportData, getReportDataTypes, initApplicationContext, renderMergedOutputModel, setExporterParameters, setHeaders, setReportDataKey, setSubReportDataKeys, setSubReportUrls
 
Methods inherited from class org.springframework.web.servlet.view.AbstractUrlBasedView
getUrl, setUrl, toString
 
Methods inherited from class org.springframework.web.servlet.view.AbstractView
addStaticAttribute, createRequestContext, 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
 
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.JasperReport report,
                            Map parameters,
                            net.sf.jasperreports.engine.JRDataSource dataSource,
                            HttpServletResponse response)
                     throws Exception
Perform rendering for a single Jasper Reports exporter, i.e. a pre-defined output format.

Specified by:
renderReport in class AbstractJasperReportsView
Parameters:
report - the JasperReport to render
parameters - the map containing report parameters
dataSource - the JRDataSource containing the report data
response - the HTTP response the report should be rendered to
Throws:
Exception - if rendering failed

createExporter

protected abstract net.sf.jasperreports.engine.JRAbstractExporter 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()


Copyright (C) 2003-2004 The Spring Framework Project.