Olá pessoal… se alguem puder me ajudar… num sei mais o que fazer… meu relatorio tah gerando o pdf em branco… =\ aqui tah onde pego o parametro:
[code]public String verificaParametros(){
String sucesso = "";
Connection con = null;
programa = getPrograma();
situacao = getSituacao();
try{
//conex�£o com o Oracle
Class.forName("oracle.jdbc.driver.OracleDriver");
con = DriverManager.getConnection("jdbc:oracle:thin:@oracle.nti.ufpb.br:1521:ufpb","consulta","consulta");
}catch (Exception ex) {
ex.printStackTrace();
}
try {
Statement stm = con.createStatement();
String query = ("SELECT DISTINCT A.ALU_MATRICULA, P.PES_NOME, " +
"P.PES_DT_NASCIMENTO, O.OSA_DESCRICAO " +
"FROM PRPG.ALUNOS A, PRPG.PESSOAS P, PRPG.OBSERVACOES_SITUACOES_ALUNOS O " +
"WHERE A.ALU_PES_COD_PESSOA = P.PES_COD_PESSOA " +
"AND A.ALU_OBS_SITUACAO_ALUNO = O.OSA_COD_OBSERVACAO " +
"AND A.ALU_ECU_NIV_PRG_COD_PROGRAMA = '"+programa+"' " +
"AND A.ALU_OBS_SITUACAO_ALUNO = '"+situacao+"' " +
"ORDER BY P.PES_NOME ASC");
ResultSet rs = stm.executeQuery(query);
while (rs.next()) {
getSessionBean1().setPrograma(programa); //manda a matricula para a sessão
getSessionBean1().setSituacao(situacao);
sucesso = "sucesso";
break;
}
} catch (SQLException ex) {
System.err.println(“ERRO SQL: metodo next.”);
return null;
}
return(sucesso);
}
public String button1_action() throws IOException, ServletException {
// TODO: Processe a ação. O valor de retorno é um nome de caso
// de navegação em que nulo fará retornar para a mesma página.
String sucesso = verificaParametros();
if (sucesso == "sucesso"){
FacesContext facesContext = FacesContext.getCurrentInstance();
//HttpSession session = (HttpSession) facesContext.getExternalContext().getSession(false);
HttpServletRequest request = (HttpServletRequest) facesContext.getExternalContext().getRequest();
HttpServletResponse response = (HttpServletResponse) facesContext.getExternalContext().getResponse();
geraRelatorio relatorio = new geraRelatorio();
relatorio.doGet(request, response);
}
else{
error("Programa e Situação inválidos!");
}
return null;
}[/code]
E aqui é onde eu gero o relatorio:
[code] public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException {
prpg_relatorios.Alunos parametros2 = new prpg_relatorios.Alunos();
String programa = parametros2.programa;
String situacao = parametros2.situacao;
Connection con = null;
try {
Class.forName("oracle.jdbc.driver.OracleDriver");
con = getConnection();
} catch (Exception e) {
System.out.println("Erro ao obter conexao via DriverManager: "
+ e.getMessage());
}
byte[] bytes = null;
try {
// carrega os arquivos jasper
// JasperReport compiledReport = (JasperReport)JRLoader.loadObject(
// context.getRealPath("\web\relatorioNomeAlunos.jasper"));
java.io.File jrxmlFile = new java.io.File("F:\Documents and Settings\Samara\Meus documentos\NetBeansProjects\PRPG_Relatorios\web\WEB-INF\classes\TesteOra.jrxml");
JasperDesign design = net.sf.jasperreports.engine.xml.JRXmlLoader.load(jrxmlFile);
JRJdtCompiler comp = new JRJdtCompiler();
JasperReport compiledReport = comp.compileReport(design);
// parâmetros, se houverem
Map parametros = new HashMap();
parametros.put("programa", programa);
parametros.put("situacao", situacao);
// direciona a saÃda do relatório para um stream
bytes = JasperRunManager.runReportToPdf(compiledReport,parametros,con);
} catch (JRException e) {
e.printStackTrace();
}
if (bytes != null && bytes.length > 0) {
// envia o relatório em formato PDF para o browser
response.setContentType("application/pdf");
response.setContentLength(bytes.length);
ServletOutputStream ouputStream = response.getOutputStream();
ouputStream.write(bytes, 0, bytes.length);
ouputStream.flush();
ouputStream.close();
}
}[/code]
Alguem pode me ajudar?