| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectorg.springframework.context.support.ApplicationObjectSupport
org.springframework.web.context.support.WebApplicationObjectSupport
org.springframework.web.servlet.view.AbstractView
org.springframework.web.servlet.view.AbstractUrlBasedView
org.springframework.web.servlet.view.jasperreports.AbstractJasperReportsView
org.springframework.web.servlet.view.jasperreports.JasperReportsMultiFormatView
public class JasperReportsMultiFormatView
Jasper Reports view class that allows for the actual rendering format to be specified at runtime using a parameter contained in the model.
This view works on the concept of a format key and a mapping key.
 The format key is used to pass the mapping key from your
 Controller to Spring through as part of the model and the
 mapping key is used to map a logical format to an actual JasperReports
 view class. For example you might add the following code to your
 Controller:
 
 Map model = new HashMap();
 model.put("format", "pdf");
 Here format is the format key and pdf is
 the mapping key. When rendering a report, this class looks for a
 model parameter under the format key, which by default is
 format. It then uses the value of this parameter to lookup
 the actual View class to use. The default mappings for this
 lookup are:
 csv - JasperReportsCsvViewhtml - JasperReportsHtmlViewpdf - JasperReportsPdfViewxls - JasperReportsXlsViewThe format key can be changed using the formatKey
 property and the mapping key to view class mappings can be changed using the
 formatMappings property.
setFormatKey(java.lang.String), 
setFormatMappings(java.util.Properties)| Field Summary | |
|---|---|
| static String | DEFAULT_FORMAT_KEYDefault value used for format key: "format" | 
| 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 | |
|---|---|
| JasperReportsMultiFormatView()Creates a new JasperReportsMultiFormatViewinstance
 with a default set of mappings. | |
| Method Summary | |
|---|---|
| protected  boolean | generatesDownloadContent()Return whether this view generates download content (typically binary content like PDF or Excel files). | 
|  Properties | getContentDispositionMappings()Return the mappings of Content-Dispositionheader values to
 mapping keys. | 
| protected  void | renderReport(net.sf.jasperreports.engine.JasperPrint populatedReport,
             Map model,
             HttpServletResponse response)Locates the format key in the model using the configured discriminator key and uses this key to lookup the appropriate view class from the mappings. | 
|  void | setContentDispositionMappings(Properties mappings)Set the mappings of Content-Dispositionheader values to
 mapping keys. | 
|  void | setFormatKey(String formatKey)Set the key of the model parameter that holds the format discriminator. | 
|  void | setFormatMappings(Properties mappingsWithClassNames)Set the mappings of format discriminators to view class names. | 
| Methods inherited from class org.springframework.web.servlet.view.jasperreports.AbstractJasperReportsView | 
|---|
| convertExporterParameters, convertParameterValue, convertReportData, convertToExporterParameter, createReport, 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, createTemporaryOutputStream, exposeModelAsRequestAttributes, getAttributesMap, getBeanName, getContentType, getRequestContextAttribute, getStaticAttributes, prepareResponse, render, setAttributes, setAttributesCSV, setAttributesMap, setBeanName, setContentType, setRequestContextAttribute, writeToResponse | 
| 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, wait, wait, wait | 
| Field Detail | 
|---|
public static final String DEFAULT_FORMAT_KEY
| Constructor Detail | 
|---|
public JasperReportsMultiFormatView()
JasperReportsMultiFormatView instance
 with a default set of mappings.
| Method Detail | 
|---|
public void setFormatKey(String formatKey)
public void setFormatMappings(Properties mappingsWithClassNames)
csv - JasperReportsCsvViewhtml - JasperReportsHtmlViewpdf - JasperReportsPdfViewxls - JasperReportsXlsView
public void setContentDispositionMappings(Properties mappings)
Content-Disposition header values to
 mapping keys. If specified, Spring will look at these mappings to determine
 the value of the Content-Disposition header for a given
 format mapping.
public Properties getContentDispositionMappings()
Content-Disposition header values to
 mapping keys. Mainly available for configuration through property paths
 that specify individual keys.
protected boolean generatesDownloadContent()
AbstractViewThe default implementation returns false. Subclasses are
 encouraged to return true here if they know that they are
 generating download content that requires temporary caching on the
 client side, typically via the response OutputStream.
generatesDownloadContent in class AbstractViewAbstractView.prepareResponse(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse), 
ServletResponse.getOutputStream()
protected void renderReport(net.sf.jasperreports.engine.JasperPrint populatedReport,
                            Map model,
                            HttpServletResponse response)
                     throws Exception
renderReport in class AbstractJasperReportsViewpopulatedReport - the populated JasperPrint to rendermodel - the map containing report parametersresponse - the HTTP response the report should be rendered to
Exception - if rendering failedAbstractView.getContentType(), 
ServletResponse.setContentType(java.lang.String), 
ServletResponse.setCharacterEncoding(java.lang.String)| 
 | ||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||