Ver Mensaje Individual
  #2 (permalink)  
Antiguo 18/09/2010, 00:58
Denis127
 
Fecha de Ingreso: febrero-2010
Mensajes: 128
Antigüedad: 14 años, 9 meses
Puntos: 3
Respuesta: Netbeans 6.8 + ireport 3.7.4

Buenas! el ejemplo que conseguí yo hace tiempo funciona muy bien para los PDF y un poco peor para los HTML, pero pruebalo a ver si te va bien.

Suerte

Código JSP:
Ver original
  1. //EL PATH DIO PROBLEMAS EN WINDOWS, TUVE QUE USAR EL PATH DE WIN...
  2.  
  3.                     String filename = "\\" + request.getParameter("filename");
  4.                     String reporttype = request.getParameter("reporttype");
  5.  
  6.                     HashMap jasperParameter = new HashMap();
  7.                     jasperParameter.put("IdGrupo", Long.parseLong(idGrupo));
  8.  
  9.                    
  10.                     jasperParameter.put("NumEval", Long.parseLong("" + v.size()));
  11.  
  12.  
  13.  
  14.                     String path = getServletContext().getRealPath("informes") + filename + ".jasper";
  15.                     System.out.println(path);
  16.                     JasperPrint jasperPrint = JasperFillManager.fillReport(path, jasperParameter, conexion.getConnection());
  17.  
  18.                     OutputStream ouputStream = response.getOutputStream();
  19.                     JRExporter exporter = null;
  20.  
  21.                     if ("PDF".equalsIgnoreCase(reporttype)) {
  22.  
  23.                         response.setContentType("application/pdf");
  24.                         exporter = new JRPdfExporter();
  25.                         exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
  26.                         exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, ouputStream);
  27.  
  28.                     } else if ("RTF".equalsIgnoreCase(reporttype)) {
  29.  
  30.                         response.setContentType("application/rtf");
  31.                         response.setHeader("Content-Disposition", "inline; filename=\"fichero.rtf\"");
  32.                         exporter = new JRRtfExporter();
  33.                         exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
  34.                         exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, ouputStream);
  35.  
  36.                     } else if ("HTML".equalsIgnoreCase(reporttype)) {
  37.                         exporter = new JRHtmlExporter();
  38.                         exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
  39.                         exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, ouputStream);
  40.  
  41.                     } else if ("XLS".equalsIgnoreCase(reporttype)) {
  42.  
  43.                         response.setContentType("application/xls");
  44.                         response.setHeader("Content-Disposition", "inline; filename=\"fichero.xls\"");
  45.                         exporter = new JRXlsExporter();
  46.                         exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
  47.                         exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, ouputStream);
  48.  
  49.                     } else if ("CSV".equalsIgnoreCase(reporttype)) {
  50.  
  51.                         response.setContentType("application/csv");
  52.                         response.setHeader("Content-Disposition", "inline; filename=\"fichero.csv\"");
  53.                         exporter = new JRCsvExporter();
  54.                         exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
  55.                         exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, ouputStream);
  56.  
  57.                     }
  58.  
  59.                     try {
  60.                         exporter.exportReport();
  61.                     } catch (JRException e) {
  62.                         throw new ServletException(e);
  63.                     } finally {
  64.                         if (ouputStream != null) {
  65.                             try {
  66.                                 ouputStream.close();
  67.                             } catch (IOException ex) {
  68.                             }
  69.                         }
  70.                     }