ok... here's what i'm doing... in system out, something like a pdf file is printed... itÅ› probably there... just don't know how to show it from the button i'm clicking on:
public String geraReportBois(){ try{ //Generating the report String caminho_arquivo = new File("").getAbsolutePath() + "/workspace/safeTrace/WebContent/reports/cliente/frigorifico/"; String nome_arquivo = "reportBois.jasper"; JasperReport jasperReport = (JasperReport)JRLoader.loadObject(caminho_arquivo + nome_arquivo); Map parameters = new HashMap(); parameters.put("Caminho", caminho_arquivo); JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, this.getRelatorioBois()); //---------------------------------------------------------------------------------- //Exporting to File (outputStream) ByteArrayOutputStream pdfStream = new ByteArrayOutputStream(); JasperExportManager.exportReportToPdfStream(jasperPrint, pdfStream); HttpServletResponse response = (HttpServletResponse) FacesContext.getCurrentInstance().getExternalContext().getResponse(); response.setContentType("application/pdf"); response.setHeader("Content-Disposition", "inline; filename=myPDF.pdf"); response.setContentLength(pdfStream.size()); try{ ServletOutputStream sos = response.getOutputStream(); pdfStream.writeTo(sos); System.out.println("pdsStream - "+pdfStream); response.sendRedirect("myPDF.pdf"); sos.flush(); sos.close(); pdfStream.close(); pdfStream = null; }catch(IOException e){ e.printStackTrace(); } return ""; }catch(JRException e){ System.out.println("entrou no catch geraReportBois"); e.printStackTrace(); } return null; }