1
私はJasperReportsとJavaを使ってpdf形式のレポートを生成することができます。pdfダウンロードダイアログウィンドウがブラウザに表示されません。 extjs 4 with java
生成されたレポートはクライアント側にダウンロードできません。 私は以下のコードを使用してPDFファイルを生成しています:
public void getTaskreportPDF(Session openSession,HttpServletRequest request,HttpServletResponse response) {
try {
Class.forName("com.mysql.jdbc.Driver");
Connection con = (Connection) DriverManager.getConnection("jdbc:mysql://localhost/contact","root","root");
Map params = getParameters(openSession);
Date date = new Date();
String reportfileName = "report"+date.getDate()+"-"+date.getMonth()+"-"+date.getYear()+"-"+date.getTime()+".pdf";
JasperDesign jasperDesign = JRXmlLoader.load(this.getClass().getResourceAsStream("/com/gantt/report/ganttreport.jrxml"));
JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
JasperPrint jasperprint = JasperFillManager.fillReport(jasperReport, params,con);
JRAbstractExporter exporterPDF = new JRPdfExporter();
exporterPDF.setParameter(JRExporterParameter.JASPER_PRINT, jasperprint);
exporterPDF.setParameter(JRExporterParameter.OUTPUT_STREAM, response.getOutputStream());
response.setHeader("Content-Disposition", "inline;filename="+ reportfileName);
response.setContentType("application/pdf");
exporterPDF.exportReport();
} catch(Exception exception) {
System.out.println("Error occured " +exception.getMessage());
}
}
マイ放火犯ネットタブは、私が応答として4キロバイトのPDFレポートファイルを持っていたことを示しています。しかし、問題は、ダウンロードウィンドウが表示されないので、私はそれを保存したり、そのレポートを表示することはできませんです。
私の放火犯は示しています
のContent-処分インライン;ファイル名= report21-0-112-1327135412907.pdf コンテンツタイプapplication/pdf私のダウンロードウィンドウがない作る私は何を作っています間違い
現れる?
ありがとうございますJBソリューションは動作しますが、私のレポートには名前が付いています。** GetTaskReportPDF.action **インラインヘッダを削除し、ファイル名をexporterPDF.setParameter(JRExporterParameter.OUTPUT_FILE_NAME、 "report.pdf")として指定しようとしました。レポートには** GetTaskReportPDF.action **という名前しか付いていません。それで、その名前を変更する方法。あなたはそれを知っていますか? –
私は私の助けを借りてくれたことに感謝しました。ソリューションは** response.setHeader( "Content-disposition"、 "attachment; filename = \" "+" example.pdf "+" \ ""); **です。 –