IReport + Netbeans + JSP

1 resposta
M

Galera, eu estou precisando fazer com que a minha página JSP chame o relatório feito no IReport e passe os parametros para ele. Os paramentros sao $P{mes} e $P{ano}. Esses paramentros sao usando por um select para pegar apenas os dados daquele mes e ano. Eu ja testei o relatório e está funcionando. Ai agora só preciso colocar ele no Netbeans. Alguem pode me ajudar? Eu dei uma olhada nos tutoriais por ai mas não deu certo. Obrigado!!! :smiley:

1 Resposta

denis_gariglio

Fala velho … entaum kra … da uma olhada e ve se ajuda …
eu montei esse …

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

import javax.servlet.ServletException;
import javax.servlet.ServletRequest;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;

import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.view.JasperViewer;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import br.com.agsi.autorizanet.entidades.Guia;
import br.com.agsi.autorizanet.entidades.dao.Conexao;
import br.com.agsi.util.AgsiDispatchAction;

public class RelatorioAction extends AgsiDispatchAction  {

    /**
     * Método que irá gerar etiquetas em PDF
     * @param caminho Caminho da pasta do Relatório
     * @return
     * @exception Exception
     * @deprecated A partir do JDK 1.5
     */
    public ActionForward doPost(ActionMapping mapping,ActionForm form,
            HttpServletRequest req, HttpServletResponse res)
    throws ServletException  {

        HttpSession sessao = req.getSession();

        Guia guia = (Guia) req.getSession().getAttribute("guia");

      String consultaDados = "";
      Long recebeguia = guia.getCd();
      //String caminho = "/usr/tomcat/webapps/impetautorizanet/etiqueta";
      String caminho = "C:\\Tomcat 5.0\\webapps\\autorizanet\\etiqueta";  
     String nomerelatorio = "Impressao_Etiqueta"+recebeguia+".pdf";
      try
      {
        consultaDados = "SELECT usu_cd, usu_nome, emp_cd, emp_ds, P.cre_endereco, P.cre_bairro, P.cre_fone, "
            			+ " P.cre_cd as pcd, P.cre_nome as pnome, S.cre_cd as scd, S.cre_nome as snome, gui_cd "
            			+ " FROM (((aut_guia INNER JOIN aut_itensguia ON aut_itensguia.guitem_guia = aut_guia.gui_cd) " 
            			+ " INNER JOIN aut_credenciado P ON P.cre_cd = aut_itensguia.guitem_prestador) "
            			+ " INNER JOIN aut_credenciado S ON S.cre_cd = gui_solicitante "
            			+ " INNER JOIN ben_usuario ON ben_usuario.usu_cd = aut_guia.gui_usuario) " 
            			+ " INNER JOIN ben_empresa ON ben_empresa.emp_cd = ben_usuario.usu_empresa " 
            			+ " where aut_guia.gui_cd =" + recebeguia;

        Conexao con = new Conexao();
        HashMap parametros = new HashMap();
        parametros.put("sql", consultaDados);
        
               //    String path = ((ServletRequest) getServlet()).getRealPath("C:\\Java\\Tomcat 5.0\\webapps\\autorizanet") + "\\";

        JasperReport jasperReport = JasperManager.loadReport(caminho +
   "\\Impressao_Etiqueta.jasper");
        JasperPrint jasperPrint = JasperManager.fillReport(jasperReport,
   parametros, con.getConexao());
        JasperExportManager.exportReportToPdfFile(jasperPrint,caminho +
   "\\"+nomerelatorio);
       //JasperViewer.viewReport(nomerelatorio, false);

       // res.sendRedirect("Impressao_Etiqueta.pdf");

        //String url="C:\\Java\\Tomcat 5.0\\webapps\\autorizanet\\relatorios\\Impressao_Etiqueta.pdf";
       //((ServletRequest) getServlet()).getRequestDispatcher(url).forward(req,res);

      //  con.close();

      }
      catch(Exception e)
      {       
        e.printStackTrace();
      }
      req.getSession().setAttribute("relatorio", nomerelatorio);
      req.getSession().setAttribute("caminho", caminho);
      return mapping.findForward("relatorio");
    }
}

Depois para chamar no jsp

<%@ page import="java.sql.*" %>
<%@ page import="java.util.*" %>
<%@ page import="java.text.*" %>
<%@ page import="java.io.*" %>
<%@ page import="java.io.File" %>
<%@ page import="net.sf.jasperreports.engine.*" %>
<%@ page import="java.util.HashMap" %>

<html>
	<head>
		<link rel="stylesheet" href="img/css.css" type="text/css">
		<title>Menu</title>
	</head> 
	<body> 
		<% 
		String relatorionome = (String)request.getSession().getAttribute("relatorio");
		
		response.sendRedirect("\\etiqueta" + "\\" + relatorionome);%>
	</body>
</html>

Espero ter ajudado

Criado 17 de setembro de 2007
Ultima resposta 18 de set. de 2007
Respostas 1
Participantes 2