转自:http://www.blogjava.net/vjame/archive/2013/10/12/404908.html
一、导入jasperreport相关jar包,这里采用当前比较稳定的5.2版本
--------------------------------------------------------------------------
jasperreports-5.2.0.jar
jasperreports-applet-5.2.0.jar
jasperreports-fonts-5.2.0.jar
jasperreports-javaflow-5.2.0.jar
其他jar包:
groovy-all-2.0.1.jar: 将.jrxml编译成.jasper.如果你不使用java编译,而使用ireport工具编译则无须导入该包
iText-2.1.7.jar: 生成pdf所依赖的包
iTextAsian.jar: 支持pdf中文字体依赖的包
poi-3.7.jar: 导出excel时候用
commons-collections-2.1.1.jar
commons-digester-2.1.jar: 解析.jrxml
commons-logging-1.1.1.jar
poi-3.7-20101029.jar: 生成excel报表所依赖的jar
图形展现jfreechart相关jar包:
jfreechart-1.0.12.jar
jcommon-1.0.15.jar
二、jasperreports与struts2集成,则要导入struts2的jasperreports插件,可从http://mvnrepository.com/获取
------------------------------------------------------------------------------------------------------------------------------------
struts2-jasperreports-plugin-2.2.3.jar
location 是指我们刚才用iReport编译生成的jasper文件
dataSource 是指我们执行的数据库查询结果,JavaBean , List
format 是指需要输出的类型,默认是PDF,其他的输出类型有:XML、HTML、XLS、CSV、RTF ,注意这里一定要大写
除了这几个参数,还有下列参数:
delimiter 是指如果输出类型为CSV的话,指定分割符,默认为“,”
parse 是指是否解析location参数中的EL表达式,默认为 true
contentDisposition 指定disposition,默认为“inline”,如果设为“attachment”就是强制下载
documentName 输出的文件名
format 格式,默认为“PDF”,其他的有:CSV、HTML、RTF、XLS、XML
imageServletUrl 生成图形的路径
三、struts.xml配置
------------------------
struts2中的需继承jasperreports-default命名空间
<package name=“default” extends="struts-default, jasperreports-default">
<!-- 报表输出Action -->
<action name="JR_*_*" class="jasperReportAction">
<result name="success" type="jasper">
<param name="location">/reports/{1}.jasper</param>
<param name="connection">connection</param>
<param name="format">{2}</param>
<param name="documentName">{1}</param>
<param name="reportParameters">para</param>
<param name="imageServletUrl"><![CDATA[/image?image=]]></param>
</result>
</action>
</package>
location - 提供利用iReport制作编译好的报表文件。
dataSource - 数据源
format - 报表输出格式
reportParameters - 报表参数
四、web.xml配置
---------------------
报表生成html需配置/image
<!-- jasperreports报表的配置 start -->
<servlet>
<servlet-name>JasperReportImageServlet</servlet-name>
<servlet-class>net.sf.jasperreports.j2ee.servlets.ImageServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>JasperReportImageServlet</servlet-name>
<url-pattern>/image</url-pattern>
</servlet-mapping>
<!-- jasperreports报表的配置 end -->