我使用iReport 3.7.4 version制作了一个jasper报告,现在我必须使用该报告或在我使用servlet,jsp和struts框架,apache tomcat作为服务器的java应用程序中调用该报告。

我想要一些有关如何调用jasper报告的步骤。

最佳答案

  • 在iReport中编译报告
  • 将已编译的报告放在类路径
  • 加载它
    JasperReport jasperReport = (JasperReport) JRLoader.loadObject(inputStream);
    
  • 用数据填充它。 dataSource是您拥有的DataSource实例-例如BeanCollectionDataSource
    JasperPrint jasperPrint =
         JasperFillManager.fillReport(jasperReport, params, dataSource);
    
  • 导出它
    JRPdfExporter exporter = new JRPdfExporter();
    exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, outputStream);
    exporter.exportReport();
    
  • 上面的outputStream可以是response.getOutputStream()FileOutputStream(),具体取决于您要将其发送给客户端还是要将其存储为文件。如果要将其发送到客户端,则必须发送Content-Disposition header ,以及其他一些 header ,但这取决于您要保存为的格式。如果要在客户端上打印,则问题完全不同-例如,您需要一些客户端代码,例如applet。
  • 10-01 18:29