Pessoal,
possuo um relatório simples no meu projeto, onde eu realizo uma consulta no banco, armazeno em um ArrayList e depois envio para o IReport, segue o código abaixo:
JRBeanCollectionDataSource jr = new JRBeanCollectionDataSource(grupos);
File f = new File(getServletConfig().getServletContext().getRealPath("relatorio.jasper"));
byte[]b = JasperRunManager.runReportToPdf(f.getPath(),new HashMap(),jr);
ServletOutputStream sos = response.getOutputStream();
response.setContentType("application/pdf");
response.setContentLength(b.length);
sos.write(b,0,b.length);
Porém agora eu preciso enviar várias Strings (Resultado de Querys Distintas) e não uma lista de um Objeto, deu pra entender??
Pensei em algo do tipo:
Map mapa = new HashMap()
mapa.put("chave1", "Resultado da Query 1");
mapa.put("chave2", "Resultado da Query 2");
mapa.put("chave3", "Resultado da Query 3");
...
File f = new File(getServletConfig().getServletContext().getRealPath("relatorio.jasper"));
byte[]b = JasperRunManager.runReportToPdf(f.getPath(),mapa);
ServletOutputStream sos = response.getOutputStream();
response.setContentType("application/pdf");
response.setContentLength(b.length);
sos.write(b,0,b.length);
Mas mesmo se funcionar eu não saberia resgatar esses valores no IReport. Alguem sabe ??
Alguem pode me ajudar ? Agradeço qq tentativa !
Valeu