转自: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插件,可从获取------------------------------------------------------------------------------------------------------------------------------------ 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 -->