浏览器中不显示pdf下载对话框窗口。使用java的ExtJS4

浏览器中不显示pdf下载对话框窗口。使用java的ExtJS4,java,jasper-reports,extjs4,Java,Jasper Reports,Extjs4,我能够使用JasperReports和Java生成pdf格式的报告 生成的报告无法下载到客户端。 我正在使用以下代码生成pdf文件: public void getTaskreportPDF(Session openSession,HttpServletRequest request,HttpServletResponse response) { try { Class.forName("com.mysql.jdbc.Driver"); Connection con = (

我能够使用JasperReports和Java生成pdf格式的报告

生成的报告无法下载到客户端。 我正在使用以下代码生成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());
}
}
我的firebug net选项卡显示我得到了4KB的pdf报告文件作为响应。但问题是下载窗口没有出现,所以我无法保存它或查看该报告

我的萤火虫显示:
内容配置内联;filename=report21-0-112-1327135412907.pdf 内容类型应用程序/pdf


我犯了什么错误,导致我的下载窗口无法显示?

使用
附件
而不是
内联
作为内容处置标题。

使用
附件
而不是
内联
作为内容处置标题。

谢谢你的解决方案,但我的报告附带了名称GetTaskReportPDF.action。我删除了内联头,并尝试将文件名命名为exporterPDF.setParameter(JRExporterParameter.OUTPUT_file_name,“report.pdf”);但是,报告的名称也只有GetTaskReportPDF.action。那么如何更改它的名称呢。你知道吗?我解决了我的错误,谢谢你的帮助。解决方案是response.setHeader(“内容处置”、“附件;文件名=\”“+”示例.pdf“+”\”);谢谢你的解决方案,但是我的报告名为GetTaskReportPDF.action。我删除了内联头,并尝试将文件名命名为exporterPDF.setParameter(JRExporterParameter.OUTPUT_file_name,“report.pdf”);但是,报告的名称也只有GetTaskReportPDF.action。那么如何更改它的名称呢。你知道吗?我解决了我的错误,谢谢你的帮助。解决方案是response.setHeader(“内容处置”、“附件;文件名=\”“+”示例.pdf“+”\”);