Olá pessoa !!!
Bom é o seguinte, eu estou usando o iReport para gerar relatorios e esta funcionando normalmente passando uma query dentro do ireport, como faço para gerar um relatorio sem passar a query dentro do ireport e sim pegar ela de uma classe que contem um por exemplo metodo consultar();
obrigado desde já
e vou passar meu codigo que esta funcionando aki para quem precisar…
public void report(HttpServletRequest request, HttpServletResponse response)
throws Exception{
Connection conn = ServiceLocator.getConnectionOracle();
CadastroTO cadTO = new CadastroTO();
try{
ServletContext context = getServletContext();
byte[] bytes = null;
JasperReport relatorioJasper = (JasperReport)JRLoader.loadObject(
context.getRealPath("/WEB-INF/report/cadastro.jasper"));
cadTO.setNome(request.getParameter("nome"));
// inclui parâmetros (se houverem)
Map parametros = new HashMap();
// parametros.put(“pageRoot”, context.getRealPath("/"));
parametros.put(“nome”, cadTO.getNome());
bytes = JasperRunManager.runReportToPdf(relatorioJasper,parametros,conn);
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();
}
}catch(Exception e ){
}
}