|
The Spring Framework | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.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
- JasperReportsCsvView
html
- JasperReportsHtmlView
pdf
- JasperReportsPdfView
xls
- JasperReportsXlsView
The 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_KEY
Default 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 JasperReportsMultiFormatView instance
with a default set of mappings. |
Method Summary | |
---|---|
Properties |
getContentDispositionMappings()
Return the mappings of Content-Disposition header 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-Disposition header 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, exposeLocalizationContext, fillReport, getConvertedExporterParameters, getExporterParameter, getExporterParameters, getJdbcDataSource, getReport, getReportCompiler, getReportData, getReportDataTypes, initApplicationContext, 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 |
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
- JasperReportsCsvView
html
- JasperReportsHtmlView
pdf
- JasperReportsPdfView
xls
- 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 void renderReport(net.sf.jasperreports.engine.JasperPrint populatedReport, Map model, HttpServletResponse response) throws Exception
renderReport
in class AbstractJasperReportsView
populatedReport
- 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)
|
The Spring Framework | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |