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!!! 
IReport + Netbeans + JSP
M
1 Resposta
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