繁体   English   中英

作为Web应用程序的一部分在Tomcat上运行JasperViewer

[英]Running JasperViewer on Tomcat as part of a web application

我了解到JasperViewerJasperReports的默认预览组件)是一个Swing组件,那么有什么方法可以将其转换或嵌入到Web应用程序中? 有人说我应该使用Java Web Start ,但是从我从此链接中学到的知识, JWS对于在客户端计算机上下载和安装应用程序很有用,而我们的情况并非如此。 可能可行的其他解决方法(也许只是从理论上来说)是将jFrame转换为jApplet ,如本链接中所述

  1. 您是否尝试过这些解决方案中的任何一种,它们是否起作用?
  2. 您是否知道其他解决方案?

如果您知道如何生成报告,则可以轻松地在servlet内完成报告,并将生成的文件发送给客户端。 使用JWS应用程序或Applet很有可能意味着该报告是在客户端生成的,并且原始数据以及所有依赖项也可供客户端使用。

以下代码假定您正在生成PDF文件

public class ReportServlet extends HttpServlet {

@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
    try {
        // initialize your report objects here
        JasperReport jasperReport = 
        JasperPrint print = 

        JRPdfExporter exporter = new JRPdfExporter();

        exporter.setParameter(JRExporterParameter.JASPER_PRINT, print); 
        exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, resp.getOutputStream()); 

        resp.setContentType("application/pdf");
        exporter.exportReport();
    } catch (Exception e) {
        resp.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "Error generating report : " + e.getClass() + " " + e.getMessage());
    }
}

您可以通过设置正确的内容类型并使用匹配的JRXYZExporter(JRHtmlExporter,JExcelApiExporter等)来扩展上面的示例以支持多种导出格式。

如果您需要更多可定制的内容,则可能还需要研究Jasper Server

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM