gpt4 book ai didi

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

转载 作者:搜寻专家 更新时间:2023-11-01 03:23:51 24 4
gpt4 key购买 nike

我了解到 JasperViewer(JasperReports 的默认预览组件)是一个 Swing 组件,那么有什么方法可以转换或嵌入它在网络应用程序中?有人说我应该使用 Java Web Start,但根据我从 this link 中学到的知识JWS 可用于在客户端计算机上下载和安装应用程序,而我们的情况并非如此。另一种解决方法(可能只是理论上)是将 jFrame 转换为 jApplet,如简要描述 in this link

  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

关于java - 作为 Web 应用程序的一部分在 Tomcat 上运行 JasperViewer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20840791/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com