Boa tarde a todos,
Tenho tentando emitir um relatorio mais o problema surge no momento de “Achar” o jrxml, ja olhei diversos tutoriais, aki no grupo pesquisei tambem, voltei aos testes e realmente eu tô meio que perdido neste aspecto, ja criei pasta com o arquivo em
diversos lugares do projeto que eu nem sei qual o local que deveria realmente ficar os relatorios
Vou postar o meu codigo abaixo e se alguem puder dar uma ajuda agradeço
a pasta reports esta na raiz do projeto, e também na pasta WEB-INF qdo eu mando o eclipse rodar o projeto posso ver
no Tomcat que o arquivo esta lá mais o programa não reconhece ou não acha e de forma que não consigo prosseguir
public void relatorio() throws JRException {
try {
FacesContext context = FacesContext.getCurrentInstance();
HttpServletResponse response = (HttpServletResponse) context.getExternalContext().getResponse();
ServletOutputStream responseStream = response.getOutputStream();
// caminho do jrxml
String jasper = context.getExternalContext().getRealPath("WEB-INF/reports/rcpapel.jrxml");
InputStream jasperStream = getClass().getClassLoader().getResourceAsStream( jasper );
if (jasperStream == null) {
throw new ReportException("Erro abrindo arquivo '" + jasper + "' não foi encontrado");
}
response.setContentType("application/pdf");
response.setHeader("Content-Disposition", "attachment; filename=\"Produtos.pdf\"");
JasperReport report = JasperCompileManager.compileReport(jasperStream);
JasperPrint print = JasperFillManager.fillReport(report, null,
new JRBeanCollectionDataSource( this.papelService.findAll(), false));
JasperExportManager.exportReportToPdfStream(print, responseStream);
} catch (Exception e) {
e.printStackTrace();
}
}