Olá pessoal,
já não sei mais o que fazer, já faz mas de uma semana
que eu venho pelejando para chamar o meu relatório
no browser através do JSF e até agora não consegui
exibi-lo no browser. Mas quando ele vai abrir no browser
desaparece e eu sobro igual Jiló na Janta.
e está aparecendo um NullPointerException no
meu InputStream. Para falar a verdade eu criei
uma pasta chamada jasper com os arquivos .jasper
mas não sei aonde esta pasta deve ficar.
e não sei se o que eu estou fazendo esta certo:
publicStringgerarPDF(){try{Connectionconn=ConnectionFactory.getConnection();InputStreamrel=null;rel=getClass().getResourceAsStream("/jasper/laudo.jasper");//Estou passando os parametros diretamente só para poder testar.Mapparameters=newHashMap();//parameters.put("idAmostra", String.valueOf(this.idAmostra));parameters.put("idAmostra","5");parameters.put("numero","01/2008");parameters.put("observacao","Tudo certo");parameters.put("conclusao","Conclusoes");byte[]bytes=JasperRunManager.runReportToPdf(rel,parameters,conn);HttpServletResponseresponse=(HttpServletResponse)FacesContext.getCurrentInstance().getExternalContext().getResponse();response.setContentType("application/pdf");response.setContentLength(bytes.length);ServletOutputStreamoutputStream=response.getOutputStream();outputStream.write(bytes,0,bytes.length);outputStream.flush();outputStream.close();FacesContext.getCurrentInstance().responseComplete();conn.close();return"sucesso_laudo";}catch(Exceptione){e.printStackTrace();return"falha_laudo";}}
Será que alguém poderia me dar uma ajdua fazendo o
favor?
[]'s.
viniciusfaleiro
Apenas traduzindo: Não tem nenhuma versão antiga do Jasper no seu classpath? (Jar…provalvemente)
Para falar a verdade eu criei
uma pasta chamada jasper com os arquivos .jasper
mas não sei aonde esta pasta deve ficar.
Você deve deixar essa sua pasta jasper na raiz do seu WebContent, para a aplicação conseguir achar o seu arquivo .jasper.
Tente tb trocar a sua linha:InputStream isReport = this.getClass().getResourceAsStream ("/jasper/laudo.jasper"); para:FacesContext.getCurrentInstance().getExternalContext().getResourceAsStream("/jasper/laudo.jasper");
[]'s
ricardocomp
Erro ao Editar…
thiagocg
Cara, não trabalho com netbeans, mas criei um projetinho de exemplo aqui só pra testar e ele cria uma pasta chamada “Páginas Web” (estou usando o netbeans 6.5.1), e creio que tua pasta de relatorios deva ficar nesta pagina.