我已经在网上搜索了好几个星期,以获得一个体面的教程来帮助我使用我正在开发的JSF应用程序
我需要允许用户将Jasper Reports(.jasper或.jrxml)上传到服务器,我已经完成了
现在我遇到的问题是如何让用户点击我创建的文件树中的链接,并在浏览器中以pdf,excel,html等显示报告......
我在网上看到一些关于如何编译它们的教程,但这一切似乎都非常令人困惑,而且从来都不是我想要的
我在JSF托管bean中使用netbeans 6.9.1,JSF2.0和Java
答案 0 :(得分:2)
要查看报告,您必须先填写报告。要填写报告,您需要做一些事情:报告文件(.jrxml或.jasper),参数映射和数据库连接。如果使用.jrxml文件,则必须先编译它。要编译.jrxml文件,首先加载它:
JasperDesign jasperDesign = JRXmlLoader.load(reportFile);
然后编译它:
JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
传递给JRXmlLoader.load()方法的reportFile
变量是一个String,其中包含.jrxml文件位置和文件名的文件路径(“C:\ ReportFile \ TestReport.jrxml”)。
现在您已经加载并编译了.jrxml文件,您可以填写报告。注意:如果使用.jasper文件,则可以直接跳到此步骤。您作为参数传递的compiled_file_name
是.jasper文件的文件位置和名称。
要填写报告,请调用JasperFillManager并将其结果分配给JasperPrint变量:
JasperPrint jasperPrint = JasperFillManager.fillReport(compiled_file_name, jasperParameter, jdbcConnection);
注意:如果您正在加载和编译.jrxml文件,如上所示,您只需使用jasperReport
作为JasperFillManager.fillReport方法中的第一个参数,因为它保存了您编译的文件。 compiled_file_name
是对已编译的.jasper文件的引用。填好的报告将存储在jasperPrint
中,这是您将传递的各种查看和导出选项。
现在查看您的文件。查看它的最简单方法是使用JasperViewer:
JasperViewer.viewReport(jasperPrint);
要将报告导出为特定的文件格式,请使用JasperExportManager:
JasperExportManager.exportReportToPdfFile(jasperPrint, file_export_location);
file_export_location
是保存文件的文件位置和名称。 JasperExportManager中有各种导出器,您应该在NetBeans中看到它们。我将报告导出到.pdf。为了显示它们,我让我的方法将视图发送到另一个包含<iframe width="800px" height="500px" src="relative location of your file" />
。
希望有所帮助。
您可能还想考虑购买The Ultimate Guide to JasperReports和The Ultimate Guide to iReports。两者都是如何使用JasperReports的很好的指南。
更新:
正如我在下面的评论中所说,我不记得我在哪里得到这个列表(我丢失了链接),但这些是我在项目中使用的.jar文件(我已经尝试过将它削减,但是最终得到错误,所以我采取了新的道路,只包括他们所有):
ant-1.7.1,antlr-2.7.5, BBQ-1.5-beta1,barcode4j-2.0, batik-anim,batik-awt-util, 蜡染桥,蜡染布,蜡染布, batik-ext,batik-gvt,蜡染解析器, 蜡染脚本,蜡染svg-dom, batik-svggen,batik-util,batik-xml, batik-5.2,bsh-2.0b4, 公地的BeanUtils-1.8.0, 公地集合-2.1.1, 公共沼气池-1.7, 公地javaflow-20060411, 共享记录-1.0.4, groovy-all-1.7.5,hibernate3, hsqldb-1.8.0-10,iText-2.1.7, jaxen-1.1.1,jcommon-1.0.15, jdt-compiler-3.1.1,jfreechart-1.0.12, jpa,jxl-2.6.10,log4j-1.2.15, mondrian-3.1.1.12687,png-encoder-1.5, poi-3.6,rhino-1.7R1,saaj-api-1.3, 序列化器,servlet, spring-beans-2.5.5,spring-core-2.5.5, xalan-2.7.1,xercesImpl-.7.0,
xml-apis,xml-apis-ext
希望有所帮助。