我有一个Web应用程序。我使用Spring Boot 1.3.3,AngularJS和Jasper 5.6.0。当我尝试下载jasper报告时,我得到空白的PDF页面。我的代码是:
String jasperAdi = "yillikPlan.jasper";
StringBuffer pathMain = new StringBuffer();
pathMain.append(this.getClass().getResource("/static/jasper").getPath());
String jasperFileName = pathMain.toString() + File.separator + jasperAdi;
File jasperFile = new File(jasperFileName);
JasperReport report = (JasperReport) JRLoader.loadObject(jasperFile);
JasperPrint jasperPrint = JasperFillManager.fillReport(report, param, new JRBeanCollectionDataSource(ckModelList));
if (jasperPrint != null) {
byte[] pdfReport = JasperExportManager.exportReportToPdf(jasperPrint);
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.parseMediaType("application/pdf"));
headers.setContentDispositionFormData("yillikPlan.pdf", "yillikPlan.pdf");
ResponseEntity<byte[]> respon = new ResponseEntity<byte[]>(pdfReport, headers, HttpStatus.OK);
return respon;
}
我的jasper文件位置是/ static / jasper。 ckModelList是java.util.List。 param是一个Hashmap,我推送报告参数。
我如何解决这个问题。
答案 0 :(得分:-1)
当我尝试在我的Spring Boot应用程序中开始使用jasper时遇到了同样的问题但是我的java代码没有任何问题,它只是报告中的“当没有数据类型”时的属性。我只是在测试,因此我没有任何数据,只需要几个小时才能实现它。
如果您对我的“改善”英语有任何疑问,请告诉我,我会尝试更好地解释。