É aberto uma janela do próprio java (não janela do navegador e nem acrobat reader) mostrando o resultado, porém quando fecho essa janela o tomcat para, tenho que startar o tomcat a cada ver que fecho a janela do relatório, gostaria de saber como posso abrir o relatório direto no acrobat reader dentro no navegador... obrigado!
[size="11"][color="red"]* Editado: Lembre-se de utilizar BBCode em seus códigos - marcossousa[/color][/size] :joia:
você tem que setar o tipo da resposta... mais ou menos assim:
// response você pega do FacesContextbyte[]buffer=JasperRunManager.runReportToPdf(reportFilename,parameters,getConnection());response.setContentType("application/pdf");response.setContentLength(buffer.length);ServletOutputStreamouputStream=response.getOutputStream();ouputStream.write(buffer,0,buffer.length);ouputStream.flush();ouputStream.close();facesContext.reponseComplete();// pula fase de rederização
:okok:
F
fpmxPJ
Ae Marcos, isso mesmo funcionou, não querendo abusar talvez até seja uma pergunta boba, mas como posso abrir esse relatório em uma nova pagina?
Obrigado!
O
ograndebePJ
Se vc da submit em um form é só fazer
<form blabla target="_blank">
J
jfsantos
Galera, também estou tentando gerar um relatório mas com um main…o que seria nesse código no JasperFillManager o comando (pathRelatorio + ") é um caminho para o arquivo?? dêem uma olhada no meu código pra ver no que podem me ajudar:
public void gerar() throws JRException , SQLException, ClassNotFoundException{
Connectioncon=(Connection)newFabricaConexao().conectar();Stringquery="select * from produto";Statementstm=con.createStatement();ResultSetrs=stm.executeQuery(query);JRResultSetDataSourcejrRS=newJRResultSetDataSource(rs);HashMapp=newHashMap();JasperFillManager.fillReportToFile("/relatorio/report.jasper",p,jrRS);JasperExportManager.exportReportToPdfFile("/relatorio/report.jrprint");JasperViewer.viewReport("/relatorio/report.jrprint",false);
publicConnectionconectar(){System.out.println("Conectando ao banco");try{try{Class.forName("com.mysql.jdbc.Driver");}catch(ClassNotFoundExceptionex){Logger.getLogger(FabricaConexao.class.getName()).log(Level.SEVERE,null,ex);}returnDriverManager.getConnection("jdbc:mysql://localhost:3306/farmatads","root","52872");}catch(SQLExceptione){thrownewRuntimeException(e);}}//connection conectar
}//fabrica conexao
public static void main (String args[]){
try {
Relatorio1 r = new Relatorio1();
r.gerar();
} catch (Exception e) {
e.printStackTrace();
}
}
}