Class JasperReportsResult
java.lang.Object
org.apache.struts2.result.StrutsResultSupport
org.apache.struts2.views.jasperreports.JasperReportsResult
- All Implemented Interfaces:
Serializable
,Result
,StrutsStatics
,JasperReportConstants
Generates a JasperReports report using the specified format or PDF if no format is specified.
This result type takes the following parameters:
- location (default) - the location where the compiled jasper report definition is (foo.jasper), relative from current URL.
- dataSource (required) - the EL expression used to retrieve the datasource from the value stack (usually a List).
- parse - true by default. If set to false, the location param will not be parsed for EL expressions.
- format - the format in which the report should be generated. Valid
values can be found in
JasperReportConstants
. If no format is specified, PDF will be used. - contentDisposition - disposition (defaults to "inline", values are typically filename="document.pdf").
- documentName - name of the document (will generate the http header
Content-disposition = X; filename=X.[format]
). - delimiter - the delimiter used when generating CSV reports. By default, the character used is ",".
- imageServletUrl - name of the url that, when prefixed with the context page, can return report images.
- reportParameters - (2.1.2+) OGNL expression used to retrieve a map of report parameters from the value stack. The parameters may be accessed in the report via the usual JR mechanism and might include data not part of the dataSource, such as the user name of the report creator, etc.
- exportParameters - (2.1.2+) OGNL expression used to retrieve a map of JR exporter parameters from the value stack. The export parameters are used to customize the JR export. For example, a PDF export might enable encryption and set the user password to a string known to the report creator.
- connection - (2.1.7+) JDBC Connection which can be passed to the report instead of dataSource
- wrapField - (2.3.18+) defines if fields should warp with ValueStackDataSource see https://issues.apache.org/jira/browse/WW-3698 for more details
This result follows the same rules from StrutsResultSupport
.
Specifically, all parameters will be parsed if the "parse" parameter
is not set to false.
Example:
<result name="success" type="jasper"> <param name="location">foo.jasper</param> <param name="dataSource">mySource</param> <param name="format">CSV</param> </result>
or for pdf
<result name="success" type="jasper"> <param name="location">foo.jasper</param> <param name="dataSource">mySource</param> </result>
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected String
Connection which can be passed to the report instead od dataSource.protected String
protected String
protected String
protected String
protected String
Names an exporter parameters map stack value, allowing the use of custom export parameters.protected String
protected String
protected String
Names a report parameters map stack value, allowing additional report parameters from the action.protected String
protected boolean
Fields inherited from class org.apache.struts2.result.StrutsResultSupport
DEFAULT_PARAM, DEFAULT_URL_ENCODING, parseLocation
Fields inherited from interface org.apache.struts2.views.jasperreports.JasperReportConstants
FORMAT_CSV, FORMAT_HTML, FORMAT_PDF, FORMAT_RTF, FORMAT_XLS, FORMAT_XML
Fields inherited from interface org.apache.struts2.StrutsStatics
ACTION_MAPPING, HTTP_REQUEST, HTTP_RESPONSE, PAGE_CONTEXT, SERVLET_CONTEXT, SERVLET_DISPATCHER, STRUTS_ACTION_TAG_INVOCATION
-
Constructor Summary
ConstructorsConstructorDescriptionDefault ctor.JasperReportsResult
(String location) Default ctor with location. -
Method Summary
Modifier and TypeMethodDescriptionprotected void
doExecute
(String finalLocation, ActionInvocation invocation) protected boolean
isAcceptableExpression
(String expression) Checks if expression doesn't contain vulnerable codevoid
setConnection
(String connection) void
setContentDisposition
(String contentDisposition) void
setDataSource
(String dataSource) void
setDelimiter
(String delimiter) void
setDocumentName
(String documentName) void
setExportParameters
(String exportParameters) void
void
setImageServletUrl
(String imageServletUrl) void
setNotExcludedAcceptedPatterns
(NotExcludedAcceptedPatternsChecker notExcludedAcceptedPatterns) void
setReportParameters
(String reportParameters) void
setTimeZone
(String timeZone) void
setWrapField
(boolean wrapField) Methods inherited from class org.apache.struts2.result.StrutsResultSupport
conditionalParse, conditionalParseCollection, execute, getLastFinalLocation, getLocation, setEncode, setLocation, setParse
-
Field Details
-
dataSource
-
format
-
documentName
-
contentDisposition
-
delimiter
-
imageServletUrl
-
timeZone
-
wrapField
protected boolean wrapField -
connection
Connection which can be passed to the report instead od dataSource. -
reportParameters
Names a report parameters map stack value, allowing additional report parameters from the action. -
exportParameters
Names an exporter parameters map stack value, allowing the use of custom export parameters.
-
-
Constructor Details
-
JasperReportsResult
public JasperReportsResult()Default ctor. -
JasperReportsResult
Default ctor with location.- Parameters:
location
- Result location.
-
-
Method Details
-
setNotExcludedAcceptedPatterns
public void setNotExcludedAcceptedPatterns(NotExcludedAcceptedPatternsChecker notExcludedAcceptedPatterns) -
getImageServletUrl
-
setImageServletUrl
-
setDataSource
-
setFormat
-
setDocumentName
-
setContentDisposition
-
setDelimiter
-
setTimeZone
- Parameters:
timeZone
- set time zone id
-
setWrapField
public void setWrapField(boolean wrapField) -
getReportParameters
-
setReportParameters
-
getExportParameters
-
setExportParameters
-
getConnection
-
setConnection
-
doExecute
- Specified by:
doExecute
in classStrutsResultSupport
- Throws:
Exception
-
isAcceptableExpression
Checks if expression doesn't contain vulnerable code- Parameters:
expression
- of result- Returns:
- true|false
- Since:
- 6.0.0
-