Jasper , reutilizacao

2 respostas
luuu

ola pessoal

é o seguinte

eu peguei um projeto que tava na metade , ele utilizava struts , jasper , etc

eu recomecei de outra maneira porque ainda nao me familiarizei com struts e jasper
so que gostaria de reutilizar os relatorios em pdf que esse projeto antigo abria .
ele possui varios arquivos .jrxml e .jasper
como posso fazer isso?

vou postar o codigo exemplo de como abria um relatorio

public ActionForward aniversariante(ActionMapping mapping, ActionForm form, 
                                 HttpServletRequest request, 
                                 HttpServletResponse response) throws IOException, 
                                                                      ServletException {
    
        
        PacienteVO pacienteVo = (PacienteVO)request.getSession(true).getAttribute("paciente");
        
        
        if(pacienteVo != null){
        
            Map parameters = new HashMap();
            parameters.put("P_UNIDADE_ATENDIMENTO",pacienteVo.getIdUnidadeAtendimento());
            parameters.put("P_CODIGO_PACIENTE",pacienteVo.getCodigoPaciente());
            
            
            try{
            
            
                DAOConnection dao = new DAOConnection(true);
                
                
                
                ServletOutputStream servletOutputStream = response.getOutputStream();
                File reportFile = new File(getServlet().getServletContext().getRealPath(System.getProperty("file.separator")+"reports"+System.getProperty("file.separator")+"relatorio_aniversariante.jasper"));
                byte[] bytes = null;
                
                bytes = JasperRunManager.runReportToPdf(reportFile.getPath(),parameters,dao.getConnection());
                
                response.setContentType("application/pdf");
                response.setContentLength(bytes.length);
                
                servletOutputStream.write(bytes, 0, bytes.length);
                servletOutputStream.flush();
                servletOutputStream.close();

                
                dao.close();
            }catch(Exception ex){
                ex.printStackTrace();
            }
            
        }
        
        return null;
    }

2 Respostas

agodinho

cara, fazendo assim vc vai ter de gerenciar os arquivos (apagá-los) depois que forem utilizados …

tenho de procurar em casa mas já te adianto que vc pode salvar a stream do arquivo diretamente no response (sem ter de criar o arquivo).

Woody

luuu

entao eu consegui utilizar , mudei algumas coisas no codigo pra tirar a parte dos struts , etc .
Consegui abrir eles

uma coisa que eu nao sei pq nunca trabalhei com jasper é o seguinte

tem algum editor de relatorios ? ou voce digita o jrxml na raça?

Criado 25 de outubro de 2006
Ultima resposta 26 de out. de 2006
Respostas 2
Participantes 2