Ajuda na geração de relatórios em pdf com iReports e jsp

0 respostas
alexwebsp

Bom dia ! Estou gerando relatórios em pdf com iReports para visualizar na jsp, consigo gerar, só que o relatório aparece no Adobe Reader e o Browser fica com a página em branco, eu quero visualizar o relatório diretamente no browser, na jsp? O Meu código é este :

try {
         String txtquery = request.getParameter("queryagendamentosloc");          
         String driver = "org.postgresql.Driver";
         String url = "jdbc:postgresql://localhost:5432/banco";
         String login = "root";
         String senha = "root";

         Class.forName(driver);
         Connection con = DriverManager.getConnection(url,login,senha);
         con.setAutoCommit(false);
         PreparedStatement consulta = (PreparedStatement) con.prepareStatement(txtquery);
         ResultSet rs = consulta.executeQuery(); 

         JRResultSetDataSource jrRS = new JRResultSetDataSource(rs);
         HashMap parametros = new HashMap();

         ServletOutputStream servletOutputStream = response.getOutputStream();

         String caminho = "/relatorios/";
         String relatorio = caminho+"visualizaragendamentos.jasper";
                            
         InputStream reportStream = getServletConfig().getServletContext().getResourceAsStream(relatorio);                            

         JasperRunManager.runReportToPdfStream(reportStream, servletOutputStream, parametros, jrRS);
         response.setContentType("application/pdf");
                            
         servletOutputStream.flush();
         servletOutputStream.close();

         con.close();
         response.sendRedirect("visualizaragendamentos.jsp");
                            
         } catch (SQLException ex) {
            Logger.getLogger("global").log(Level.SEVERE,null,ex);

         }catch (JRException e) {

         StringWriter stringWriter = new StringWriter();
         PrintWriter printWriter = new PrintWriter(stringWriter);
         e.printStackTrace(printWriter);
         response.setContentType("text/plain");
         response.getOutputStream().print(stringWriter.toString());

         }catch (ClassNotFoundException ex) {
           Exceptions.printStackTrace(ex);
         }
Criado 19 de maio de 2011
Respostas 0
Participantes 1