2012-03-09 135 views
4

我在我的web应用程序上运行了一些负载测试。 问题是负载测试应用程序的结果是.jrxml格式。 结果包含图表图形和某些参数。 我知道它是一个jasperreport格式。 因此,如果我将.jrxml文件转换为.pdf文件,我将能够看到所有图表,图形和值...将.jrxml文件转换为.pdf文件

我假设不考虑关于图表或图形的.jrxml内容,生成的pdf将包含根据制图API准备适当的值作为模板。

我可生产碧玉报告不指定任何数据源connection..I不需要一个数据源连接,因为我的.jrxml文件不包含一个数据源属性... 如果是的话,我怎么能acheive它.. 请建议

回答

6

如果你没有任何数据源,你可以试试这个

jasperReport = JasperCompileManager.compileReport(sourceFileName); 
jasperPrint = JasperFillManager.fillReport(jasperReport,jasperParameter,new JREmptyDataSource()); 
JasperExportManager.exportReportToPdfFile(jasperPrint, "D://Test.pdf"); 

即使你没有任何数据源,它是一个静态数据报告 JREmptyDataSource需要付出。

检查答案更多的解释

Blank PDF even with the simplest Jasperreport jrxml

0

.jrxml是jasper设计器的输出当你编译它时,你会获得它的解析表单.jasper。之后,你用数据,参数,变量填充这个对象并获取.print对象。最后,你可以导出这个print对象由jasper报告提供的任何格式,如PDF,CVS,HTML,Excel ...

+0

我已经知道这些细节..可能的问题是,如果没有数据源,我可以生成一个碧玉报告...我不需要数据源,因为我的.jrxml文件不包含任何数据源...评论是有点偏差从我问的问题,我真的很抱歉。 – AngelsandDemons 2012-03-09 12:13:20

0

如果“数据源连接”你的意思是一个JDBC数据源的支持,是的,你可以在无需此执行报告。

还有其他的数据源实现,实现net.sf.jasperreports.engine.JRDataSource(例如JRCsvDataSource)是“重量更轻的”比打一个数据库 - 用于测试是有用的。

然而单元测试,我结束了创建一个模拟实现的的JRDataSource实现下一个()getFieldValue()和地图对象的集合读取(这可能不是从阅读文件等)。对于我来说,这是最简单和最快捷的方法。

哪部分是你正在进行负载测试?通常,感兴趣的部分进行压力测试是:

  • 碧玉报告填充(执行查询,读取的结果,并填充JasperPrint对象)

  • 碧玉出口(产生报告输出格式 - HTML,PDF ,XLS等。)

0

如果你不使用任何数据源,那么你有,如果你正在运行样本报告选择数据源“空数据源”或“样本数据源”,但我认为,如果你正在装箱特定报告你的项目,那么你必须选择数据源。