Ola povo,
consigo fazer minha aplicacao rodar o relatorio, mas ao clicar no botao, gostaria que alem de fazer o download em pdf, pudesse exibir na pagina
porém soh faz download em formato pdf
segue o codigo
public static void executaRelatorio(String caminhoRelatorio, Map<String, Object> parametros, String nomeRel, JRBeanCollectionDataSource fonteDados) {
FacesContext context = FacesContext.getCurrentInstance();
HttpServletResponse response = (HttpServletResponse) context.getExternalContext().getResponse();
//pegar o caminho do arquivo .jasper
InputStream reportStream = context.getExternalContext().getResourceAsStream(caminhoRelatorio);
response.setContentType("application/pdf");
response.setHeader("Content-Disposition", "attachment; filename=" + nomeRel + ".pdf");
response.setContentType("application/download");
response.setHeader("Pragma", "no-cache");
try {
ServletOutputStream servletOutputStream = response.getOutputStream();
//envia parametros para o relatorio
if (parametros == null) {
parametros = new HashMap<String, Object>();
}
//enviar para o navegador o pdf gerado
JasperRunManager.runReportToPdfStream(reportStream, servletOutputStream, parametros, fonteDados);
servletOutputStream.flush();
servletOutputStream.close();
} catch (JRException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
} finally {
context.responseComplete();
}
só um detalhe
nessas linhas aqui
response.setContentType("application/pdf");
response.setHeader("Content-Disposition", "attachment; filename=" + nomeRel + ".pdf");
response.setContentType("application/download");
ja alterei o formato de application para text/html
e ja retirei tb o application/download
porem continua da mesma maneira
alguem?