Está gerando relatório mas como fazer download de relatório com Struts2 e definir o path?

1 resposta
S

Eu consegui fazer um método que gera o relatório e cria o PDF, mas não estou conseguindo com que o aparece a janela de download no browser.

public String gerarRelatorio(){
 		try{
                Session session=HibernateUtil.openSession();
                HashMap mapa=new HashMap();
                HttpServletResponse response = null;  
             
                Date inicio = new Date("2010/10/01");
                mapa.put("DATA_INICIO",inicio);               
                Date fim = new Date("2010/12/31");
                mapa.put("DATA_FIM",fim);

                JasperReport pathjrxml = JasperCompileManager.compileReport("C:/Users/usuario/Desktop/usuario/TCC/eclipse lomax/workspace/Lomax3/relatorios/VendasMensal.jrxml");
                JasperPrint printReport = JasperFillManager.fillReport(pathjrxml,mapa,session.connection());
                JasperExportManager.exportReportToPdfFile(printReport, "C:/Users/usuario/Desktop/usuario/TCC/eclipse lomax/workspace/Lomax3/relatorios/VendasMensal.pdf");
                byte[] dados= JasperExportManager.exportReportToPdf(printReport);
                session.close();

                response.setContentType("application/pdf");
                ServletOutputStream saida = response.getOutputStream();
                saida.write(dados);
                saida.flush(); 
                saida.close();
                

         }catch(Exception e){
             e.printStackTrace();
         }
         
         return SUCCESS;
    }

Estou usando Struts2 e como vcs puderam ver não há passagem de parâmetros no método para HttpServletRequest request e HttpServletResponse response, não sei se isso é possivel com o struts2, tentei fazer um response com null e não está dando certo.
Outra coisa tb que n estou conseguindo fazer é definir um path para o relatório que não precise colocar todo o diretório completo, eu posso usar esse código em outros computadores e com certeza não terão paths iguais. como corrigir isso?

1 Resposta

S

Consegui fazer o download
vi aqui http://www.guj.com.br/java/77681-download-de-arquivo-usando-struts-2

Mas ainda n consegui resolver o problema do path.

Criado 7 de novembro de 2011
Ultima resposta 7 de nov. de 2011
Respostas 1
Participantes 1