Testei o relatório (parametrizado) no IReport e obtive sucesso, mas quando tento pelo jasper só vem em branco, como se os parâmetros chegassem como ‘null’.
[code]package util.jasper;
import java.sql.;
import net.sf.jasperreports.engine.;
import net.sf.jasperreports.view.;
import java.io.;
import java.util.*;
public class ChamaRel {
private final String URL_JDBC=“jdbc:mysql://localhost/bancodois”;
private final String DB_USER =“teste”;
private final String DB_PASS =“12345”;
public ChamaRel() {
}
private Connection getConexao(){
Connection cnn=null;
try{ Class.forName("com.mysql.jdbc.Driver");
cnn=DriverManager.getConnection(URL_JDBC, DB_USER, DB_PASS);
} catch (Exception ex){
System.out.println("Erro na conexão com banco: " + ex.getMessage());
}
return cnn;
}
public void runRel(String pathRel, Map params, OutputStream out){
try {
JasperReport jr = JasperCompileManager.compileReport(pathRel);
JasperPrint jp = JasperFillManager.fillReport(jr, params, this.getConexao());
JasperExportManager.exportReportToPdfStream(jp, out);
}
catch (Exception ex)
{
System.out.println("Erro na geração do relatório: " + ex.getMessage());
}
}
}[/code]
Esse código gera esse erro, mas não sei se é essa a causa de vir em branco o relatório :
[code]27/05/2008 17:18:15 org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet jsp threw exception
java.lang.IllegalStateException: getOutputStream() has already been called for this response
at org.apache.catalina.connector.Response.getWriter(Response.java:610)
at org.apache.catalina.connector.ResponseFacade.getWriter(ResponseFacade.java:198)
at org.apache.jasper.runtime.JspWriterImpl.initOut(JspWriterImpl.java:125)
at org.apache.jasper.runtime.JspWriterImpl.flushBuffer(JspWriterImpl.java:118)
at org.apache.jasper.runtime.PageContextImpl.release(PageContextImpl.java:186)
at org.apache.jasper.runtime.JspFactoryImpl.internalReleasePageContext(JspFactoryImpl.java:118)
at org.apache.jasper.runtime.JspFactoryImpl.releasePageContext(JspFactoryImpl.java:77)
at org.apache.jsp.aula1003.exec_005fcarros_jsp._jspService(exec_005fcarros_jsp.java:84)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:374)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:337)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:619) [/code]
Queria uma dica de como ajeitar isso ai. Obrigada.