Porque meu relatorio ta todo branco?

2 respostas
L

poq meu relatorio aparece todo branco...aparece sem nada escrito nele...MAS ESCREVI algo nele pra testar

public void processRequest(ActionEvent event) throws IOException, JRException, SQLException{   
			Collection<CompraForm> relatorios = new ArrayList<CompraForm>();   
			FacesContext context = FacesContext.getCurrentInstance();  
			ServletContext sc = (ServletContext) context.getExternalContext().getContext();   
	        String nomeArquivo = sc.getRealPath("/teste.jasper");
			//logica   
			//relatorios.add(relatorio);   
	        imprimir(nomeArquivo,new HashMap());
			//JRBeanCollectionDataSource jrbc = new JRBeanCollectionDataSource(relatorios);   
		//	JasperPrint jasperPrint = JasperFillManager.fillReport(getClass().getResourceAsStream("teste.jasper"), new HashMap(), jrbc);   
			//this.enviarPDF(jasperPrint);   
			}   
		
		public void imprimir(String relatorio, HashMap<String, Object> 
			parametros) { 
			     try { 
			        
			         parametros.put("data_inicio", "testandoooo");
	
			         HttpServletResponse response = (HttpServletResponse) FacesContext.getCurrentInstance().getExternalContext().getResponse();     
			         ServletOutputStream servletOutputStream = response.getOutputStream();   
			       
			         byte[] bytes = JasperRunManager.runReportToPdf(relatorio, parametros); //aqui vc substitui pelo seu gerador de relatorios, ao seu modo   
			       
			             response.setContentType("application/pdf");   
			             response.setHeader("Content-disposition", "filename=\"Pedido.pdf\""); //nome que vc quer dar ao arquivo   
			             response.setContentLength(bytes.length);   
			       
			             //sem essas linhas abaixo não funciona, não roda,  da pau hehehe   
			             servletOutputStream.write(bytes, 0, bytes.length);   
			             servletOutputStream.flush();   
			             servletOutputStream.close();   
			             FacesContext.getCurrentInstance().renderResponse();   
			             FacesContext.getCurrentInstance().responseComplete();  

	
			     } catch (Exception ex) { 
			         System.err.println("O arquivo não foi gerado corretamente!"); 
			         ex.printStackTrace(); 
			     } 
		 } 
	
//na pagina chamo assim

<h:form id="formulario">
    <h:commandLink   
                            value="Gerar relatório PDF" actionListener="#{relatorioBean.processRequest}" />							
</h:form>

2 Respostas

L

ninguem pode me ajudar?

furutani

Tópico duplicado

Criado 19 de fevereiro de 2011
Ultima resposta 19 de fev. de 2011
Respostas 2
Participantes 2