public void doRun() {
    try {
      log.info("Export started");

      openDocument(writer);

      // -----------------------------------------------------------------
      // XML
      // -----------------------------------------------------------------

      beforeXML(writer);

      for (XMLHrConverter converter : xmlConverters) {
        converter.write(writer, params);
      }

      afterXML(writer);

      closeDocument(writer);

      StreamUtils.closeZipEntry(zipOutputStream);

      log.info("Export done");
    } catch (Exception ex) {
      ex.printStackTrace();

      throw new RuntimeException("Writing failed" + ex);
    } finally {
      writer.closeWriter();

      StreamUtils.closeOutputStream(zipOutputStream);

      NameMappingUtil.clearMapping();
    }
  }
  @Override
  public String execute() throws Exception {
    HttpServletResponse response = ServletActionContext.getResponse();

    Map<String, String> typeTemplateMap = new HashMap<String, String>();
    typeTemplateMap.put(TYPE_JASPER, TEMPLATE_JASPER);
    typeTemplateMap.put(TYPE_HTML, TEMPLATE_HTML);

    Map<String, String> typeContentTypeMap = new HashMap<String, String>();
    typeContentTypeMap.put(TYPE_JASPER, ContextUtils.CONTENT_TYPE_XML);
    typeContentTypeMap.put(TYPE_HTML, ContextUtils.CONTENT_TYPE_HTML);

    if (type != null & typeTemplateMap.containsKey(type)) {
      String template = typeTemplateMap.get(type);
      String contentType = typeContentTypeMap.get(type);

      ContextUtils.configureResponse(response, contentType, false, template, true);

      StreamUtils.streamcopy(
          new BufferedInputStream(new ClassPathResource(template).getInputStream()),
          new BufferedOutputStream(response.getOutputStream()));
    }

    return SUCCESS;
  }
示例#3
0
  /** Writes a Jasper Reports representation of the given Grid to the given OutputStream. */
  public static void toJasperReport(Grid grid, Map<String, Object> params, OutputStream out)
      throws Exception {
    if (grid == null) {
      return;
    }

    final StringWriter writer = new StringWriter();

    render(grid, params, writer, JASPER_TEMPLATE);

    String report = writer.toString();

    JasperReport jasperReport =
        JasperCompileManager.compileReport(StreamUtils.getInputStream(report));

    JasperPrint print = JasperFillManager.fillReport(jasperReport, params, grid);

    JasperExportManager.exportReportToPdfStream(print, out);
  }