Apache Struts 2 Documentation > Home > Guides > Plugin Developers Guide > JasperReports Plugin |

Apache Struts 2 Documentation
JasperReports Plugin
Edit Page Browse Space Add Page Add News
Added by casey, last edited by Ted Husted on Feb 04, 2007 (view change)

| JasperReports is a powerful open source Java (LGPL) reporting tool that has the ability to deliver rich content onto the screen, to the printer or into PDF, HTML, XLS, CSV and XML files.

The JasperReports plugin enables Actions to create high-quality reports as results.

## Features

- Allows Actions to be rendered through JasperReports

## Usage

To use this plugin, have your packages that contain the target actions extend the provided `jasperreports-default` package, which contains the `jasper` result type. Then, simply use the result type in the desired actions. The result takes the following parameters:

Generates a JasperReports report using the specified format or PDF if no format is specified.

- 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.

This result follows the same rules from StrutsResultSupport. Specifically, all parameters will be parsed if the "parse" parameter is not set to false.

### Examples

    <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>

### Settings

This plugin doesn't provide any global settings.

### Installation

This plugin can be installed by copying the plugin jar into your application's `/WEB-INF/lib` directory. No other files need to be copied or created.