我了解到贾斯珀浏览器(默认预览组件贾斯珀报告) is a Swing组件,那么有什么方法可以将其转换或嵌入到Web应用程序中吗?有人说我应该使用Java网络启动,但据我所知这个链接 JWS在客户端计算机上下载并安装应用程序非常有用,但这不是我们的情况。它可能起作用的另一个解决办法(也许只是理论上)是转换jFrame to jApplet如简要描述的在这个链接中
- 您是否尝试过这些解决方案并且它们有效?
- 您知道这个问题的其他解决方案吗?
如果您知道如何生成报告,则可以轻松地在 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...)来扩展上面的示例以支持多种导出格式
如果您需要更多可定制的东西,您可能还想研究一下贾斯珀服务器
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)