Fala Galera!
Seguinte, tenho um código em jsp, este jsp chama um Servlet para criar um Relatório pelo IReport.
Porém, peguei um exemplo pronto, e agora preciso fazer de uma forma diferente e estou meio perdido.
Preciso passar o código do Beneficiario “codBeneficiario” para fazer uma consulta e pegar apenas os dados de um determinado beneficiário.
Eis os códigos:
O Servlet;
package Relatorios;
/**
*
* @author Vinícius Figueiredo Nogueira
*/
import AcessoBD.*;
import java.io.IOException;
import java.sql.*;
import java.sql.Connection;
import java.sql.DriverManager;
import java.util.HashMap;
import java.util.Map;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperManager;
import net.sf.jasperreports.engine.JasperPrint;
import AcessoBD.ConectarRel;
public class RelBeneficiario extends HttpServlet {
public ConectarRel conectar;//Chama a conexao com o banco
public Connection con;
protected void doPost(HttpServletRequest req, HttpServletResponse res) throws ServletException, IOException {
conectar = new ConectarRel();
con = conectar.conexao(); // Faz a conexão
// Na variavel pathJasper ficara o caminho do diretório para
// os relatórios compilados (.jasper)
String pathJasper = getServletContext().getRealPath("emergencial/relatorio")+ "/";
// A variavel path armazena o caminho real para o contexto
// isso é util pois o seu web container pode estar instalado em lugares diferentes
String path = getServletContext().getRealPath("/");
// Parametros do relatorio
Map parametros = new HashMap();
parametros.put("PathRelBeneficiario", pathJasper + "beneficiario.jasper");
try {
// Aqui ele cria o relatório
JasperPrint impressao = JasperFillManager.fillReport(pathJasper+ "beneficiario.jasper", parametros, con);
// Grava o relatório em disco em pdf
JasperManager.printReportToPdfFile(impressao, path+ "emergencial/relatorio/RelatorioBeneficiario.pdf");
con.close();
// Redireciona para o pdf gerado
res.sendRedirect("emergencial/relatorio/RelatorioBeneficiario.pdf");
} catch (Exception e) {
res.getWriter().println("Erro ao gerar o relatório: " + e);
}
}
protected void doGet(HttpServletRequest arg0, HttpServletResponse arg1) throws ServletException, IOException {
doPost(arg0, arg1);
}
}
e o jsp que chama o Servlet
<input type="button" name="imprime" value="Imprimir" onclick="window.open('RelBeneficiario','Relatorios','width=1024,height=768', 'location=no', 'menubar=no', 'toolbar=no')">
Só lembrando que RelBeneficiario é o nome do Servelt e Relatorios é o nome da pasta em que está o Servlet.
Onde e como eu passo esse parâmetro para o Relatório???