Relatorios Com JasperReports Socorro!

1 resposta
S

é o seguinte galera estou usando o Ireport-0.4.0 o JasperReports-0.6.3
com eclipse setei todos os jars coloquei os jars no lib do projeto a estrutura que coloquei o .jasper é webapps/medidores/relatorios/teste.jasper

uso um servlet para gerar o relatorio.
no codigo segui abaixo.

InputStream is = getServletContext().getResourceAsStream(C:/Program Files/tomcat/webapps/medidores/Relatorios/teste.jasper);

JasperFillManager.fillReport(is, parametro, jrRS );

JasperExportManager.exportReportToPdfFile(C:/Program Files/tomcat/webapps/medidores/Relatorios/teste.jrprint);

JasperViewer.viewReport(C:/Program Files/tomcat/webapps/medidores/Relatorios/teste.pdf, false);

estou pasando o caminho do jasper para um inputstream e passo para o JasperFillManager.fillReport(is, parametro, jrRS );

desta forma causa o seguinte erro

java.lang.NullPointerException

java.io.ObjectInputStream$PeekInputStream.read(ObjectInputStream.java:2150)

java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2163)

java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:2631)

java.io.ObjectInputStream.readStreamHeader

ObjectInputStream.java:734)

java.io.ObjectInputStream.(ObjectInputStream.java:253)

net.sf.jasperreports.engine.util.JRLoader.loadObject(JRLoader.java:232)

net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:451)

RelatorioSV.doPost(RelatorioSV.java:157)

javax.servlet.http.HttpServlet.service(HttpServlet.java:709)

javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

se eu mudar e passar a string como caminho em vez do InputStream
gera outro erro que é o seguinte

codigo do servlet passando por string

String str = this.getClass().getResource(C:/Program Files/tomcat/webapps/medidores/Relatorios/teste.jasper).getFile();

JasperFillManager.fillReport(str, parametro, jrRS );

JasperExportManager.exportReportToPdfFile(C:/Program Files/tomcat/webapps/medidores/Relatorios/teste.jrprint);

JasperViewer.viewReport(C:/Program Files/tomcat/webapps/medidores/Relatorios/teste.pdf, false);
java.lang.NullPointerException

RelatorioSV.doPost(RelatorioSV.java:153)

javax.servlet.http.HttpServlet.service(HttpServlet.java:709)

javax.servlet.http.HttpServlet.service(HttpServlet.java:802)

bem na linha que eu passo a string

me ajudem estou quase louco com isso.

1 Resposta

L

Rapaz vc está fazendo da maneira errada, olha aqui um jeito que vai dá certo :

JasperCompileManager.compileReportToFile("Caminho dos .jrxml", "classic.jasper");
JasperPrint print = JasperFillManager.fillReport("classic.jasper",parameters,connection);
JasperViewer.viewReport(print,false);

No metodo viewReport vc tem que passar é um “print” e não um caminho como vc está fazendo !!!

blz ??

Criado 18 de janeiro de 2005
Ultima resposta 18 de jan. de 2005
Respostas 1
Participantes 2