Ajuda com struts

0 respostas
Marques

Colegas,

O metodo abaixo tem só as partes relevantes para esclarecimento da minha dúvida:
Bom, basicamente quero imprimir um pdf (o que está fazendo corretamente).
Aí qdo eu clico no botão voltar (o pdf é aberto em outra página) quero que esse método execute o return para a action especificada,
porém ele não o faz.

O que eu devo fazer?

Muito obrigado,

Marques

public ActionForward imprimePalletsEmbarque(ActionMapping mapping,
			ActionForm form, HttpServletRequest request,
			HttpServletResponse response) throws Exception {

		DynaValidatorForm formBean = (DynaValidatorForm) form;
		ActionMessages mensagens = new ActionMessages();

		HttpSession session = request.getSession();
		ServletContext context = session.getServletContext();
		byte[] bytes = null;
		try {			
			JasperReport relatorioJasper = null;
			relatorioJasper = (JasperReport) JRLoader.loadObject(context.getRealPath("/reports/RomaneioSeparacao.jasper"));	
															
			Map parametros = new HashMap();				
			parametros.put("nomeFantasia", "teste");			
									
			JRBeanArrayDataSource ds = new JRBeanArrayDataSource(aList.toArray());
						
			bytes = JasperRunManager.runReportToPdf(relatorioJasper, parametros, ds);				
			parametros = null;
		} catch (JRException e) {
			e.printStackTrace();
		}
		
		if (bytes != null && bytes.length > 0 && mensagens.isEmpty()) {				
			response.setContentType("application/pdf");
			response.setContentLength(bytes.length);
			ServletOutputStream ouputStream = response.getOutputStream();
			ouputStream.write(bytes, 0, bytes.length);
			ouputStream.flush();
			ouputStream.close();
			
		}
															
		return (!mensagens.isEmpty() ? mapping.findForward("falha") : mapping.findForward("exibirPalletsAction"));			
	}
Criado 4 de abril de 2008
Respostas 0
Participantes 1