1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
public void viewReport(String reportPath, String outPutReportFormat,Map parameters)
{
try {
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
JasperDesign jasperDesign = JRXmlLoader.load(reportPath);
JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
Locale.setDefault( new Locale("fr") );
Connection con = dataSource.getConnection();
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,parameters,con);
FacesContext context = FacesContext.getCurrentInstance();
HttpServletResponse response = (HttpServletResponse) context
.getExternalContext().getResponse();
//PDF
byte[] bytes;
bytes = JasperExportManager.exportReportToPdf(jasperPrint);
response.setContentType("application/pdf");
response.addHeader("Content-disposition",
"attachment;filename=FileName.pdf");
response.setContentLength(bytes.length);
ServletOutputStream servletOutputStream = response
.getOutputStream();
servletOutputStream.write(bytes, 0, bytes.length);
servletOutputStream.flush();
servletOutputStream.close();
//Fin PDF
FacesContext.getCurrentInstance().responseComplete();
}
catch(JRException ex){
ex.printStackTrace();
}
catch(Exception ex){
ex.printStackTrace();
}
} |
Partager