IReport AJUDA!

2 respostas
D

Ola tenho uma aplicação simples que possui apenas um botao e um relatório com um texto simples em sua banda title, mas quando mando imprimir atraves da minha aplicação web aparece uma página em branco. Alguem já passou por esse erro?

Obs: utilizo IReport 2.0, java6.0, eclipse 3.2 e tomcat 5.5.20.

Obrigado

2 Respostas

L

Coloque trechos do seu código…
Podem ser várias coisas.

D

package report.jasper;

import java.util.HashMap;
import java.util.Map;

import javax.faces.context.FacesContext;

import javax.servlet.ServletOutputStream;

import javax.servlet.http.HttpServletResponse;

import javax.servlet.http.HttpSession;
import net.sf.jasperreports.engine.JasperReport;

import net.sf.jasperreports.engine.JasperRunManager;

import net.sf.jasperreports.engine.util.JRLoader;

public class PrintJasper{

private Map parameters;

public void show(){
	String report = "/WEB-INF/classes/report/jasper/teste133.jasper";

	Object session = FacesContext.getCurrentInstance().getExternalContext().getSession(false);
	HttpSession hs = (HttpSession) session;
	report = hs.getServletContext().getRealPath(report);
	
	try {
		
		JasperReport jasperReport = (JasperReport) JRLoader.loadObject(report);


		
		byte[] bytes = JasperRunManager.runReportToPdf(jasperReport, getParameters());
		

		FacesContext context = FacesContext.getCurrentInstance();
 		HttpServletResponse resp = (HttpServletResponse) context.getExternalContext().getResponse();

		resp.setHeader("Content-Disposition", "attachment; filename=\"" + "Teste_Rel_Facelets.pdf" + "\";");
  resp.setContentType("application/pdf");
  resp.setContentLength(bytes.length);

  ServletOutputStream ouputStream = resp.getOutputStream();
  ouputStream.write(bytes, 0, bytes.length);

  ouputStream.flush();
  ouputStream.close();

  context.responseComplete();
  
  
  
	} catch (Exception e) {
		System.out.println("The function fails when executing \"show()\"");
		e.printStackTrace();
	}
	
}

/*

  • GETTERS AND SETTERS
    */
    @SuppressWarnings(“unchecked”)
    public Map getParameters() {
    if (parameters == null) {
    parameters = new HashMap();
    parameters.put(“teste”, “testeO”);
    }
    return parameters;
    }
    public void setParameters(Map parameters) {this.parameters = parameters;}

}

essa eh minha classe inteira nao tem nada alem disso!

Criado 13 de agosto de 2007
Ultima resposta 13 de ago. de 2007
Respostas 2
Participantes 2