我想使用带有JSP的JasperReports生成PDF报告
这是我的代码
<%
Class.forName("oracle.jdbc.OracleDriver");
Connection cn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:personnel","user","password");
try {
File reportFile = new File(application.getRealPath("//reports//rapport_absences.jasper"));
Map h = new HashMap();
byte[] bytes = JasperRunManager.runReportToPdf(reportFile.getPath(),h,cn);
response.setContentType("application/pdf");
response.setHeader("Content-Disposition", "inline; filename=report.pdf ");
response.setContentLength(bytes.length);
ServletOutputStream outStream = response.getOutputStream();
outStream.write(bytes,0,bytes.length);
outStream.flush();
outStream.close();
}catch (Exception ex){
ex.printStackTrace();
}
%>
但它给了我一个空白的PDF,虽然当我从Ireport运行报告时它运行良好并获得数据但是从jsp获得了一个空白的PDF
答案 0 :(得分:0)
一如既往,我发现了自己的灵魂,因为现在我可以帮忙了,如果有人在将来需要的话,我就把它放在这里
<%@page import="java.sql.DriverManager"%>
<%@page import="java.sql.Connection"%>
<%@ page contentType="application/pdf" %>
<%@ page trimDirectiveWhitespaces="true"%>
<%@ page import="net.sf.jasperreports.engine.*" %>
<%@ page import="net.sf.jasperreports.engine.export.*" %>
<%@ page import="java.util.*" %>
<%
Class.forName("oracle.jdbc.OracleDriver");
Connection cn = DriverManager.getConnection("jdbc:oracle:thin:@localhost:1521:personnel","charif","charif123");
response.setHeader("Content-Disposition", "inline; filename=report.pdf ");
JasperPrint print = JasperFillManager.fillReport("D:\\ISTA\\Projet_Stage\\GestionPersonnel\\web\\reports\\rapport_absences.jasper",
new HashMap(),
cn);
JasperExportManager.exportReportToPdfStream(print,
response.getOutputStream());
%>