Ireport com Struts2

0 respostas
maxdavis

Bom Pessoal! Estou com dúvida em questão de passar paramentros para gerar meu relatório no struts2, eu criei um metodo Imprimir (), para montar meu relatório, esse metodo ta chamando meu PDF tranquilo, mas sendo q meus dados estão vindo nulo no meu PDF, antes de colocar esse post, vi vários posts passando uma lista com struts2, mas gostaria de passar paramentros, por causa do meu sql.

Agradeço todos vcs que disponibilizam a ajudar. :slight_smile:

SEGUE MEU CODIGO ABAIXO

Metodo q chama o relatório

public String imprimir() throws BusinessException {
		
		try {
                        
          //DADOS PARA GERAR A CONSULTA
			String dataInic = getDataInicial();
			String dataFina = getDataFinal();
			String codiForn = isFlagForn() ? null : getCodiForn();
			String empeGuia = this.getEmpeGuia();// (getEmpeGuia().equals("Empenho")
			// ? "e" : "g");

			// data como parametro
			if (!this.isFlagData()) {
				dataInic = dataInic + " 00:00:00";
				dataFina = dataFina + " 23:59:59";
			} else {
				dataInic = "01/01/1994 00:00:00";
				dataFina = dataFina + " 23:59:59";
			}

			

			dataInic = DataUtil.formatar(DataUtil.converter(dataInic,
					"dd/MM/yyyy HH:mm:ss"), "yyyy-MM-dd HH:mm:ss");
			dataFina = DataUtil.formatar(DataUtil.converter(dataFina,
					"dd/MM/yyyy HH:mm:ss"), "yyyy-MM-dd HH:mm:ss");


        // PEGAR UM SQL MONTADO PELA CONSULTA E PASSA-LO COMO PARAMENTRO

			String consulta = processoEmpenhoService
					.getSqlProcessosLiberadosPagos(dataInic, dataFina,
							codiForn, empeGuia);

        // AQUI COMECA A CRICAO DO MEU RELATORIO PASSANDO OS PARAMENTROS PARA O HashMap

			Map<String, Object> parametros = new HashMap<String, Object>();

			parametros.put("BRASAO", super.obterRequest().getRealPath(
					"/imagens/geral/brasao.jpg"));

			parametros.put("consulta", consulta); // PASSA MEU SQL COMO PARAMENTRO


			parametros.put("data", DataUtil.formatar(new java.util.Date()));
			parametros.put("hora", DataUtil.formatar(new java.util.Date(),
					"hh:mm"));

           // Gera o relatório */
			JasperPrint print = JasperReportsUtil.obterJasperPrint(obterCaminhoReal(
					PATH_RELATORIO_LIBERAR_PROCESSOS_teste) ,
					parametros, new JREmptyDataSource());
			
			JasperExportManager.exportReportToPdf(print);
			
			atribuirDataSource(new JREmptyDataSource());
		
		} catch (Exception ex) {
			ex.printStackTrace();

		}
		return "dsResult";

	}

Minha declaração na Action no arquivo struts.xml

<action name="ProcessoLiberadoPago/imprimir" class="processoLiberadoPagoAction"
			method="imprimir">
			<result name="dsResult" type="ds-relatorio">
				<param name="path">/relatorios/jasper/teste.jasper</param>
			</result>
			<result name="input">/paginas/comum/processosLiberadosPagos.jsp
			</result>
		</action>
Criado 30 de junho de 2010
Respostas 0
Participantes 1