gpt4 book ai didi

java - 以 HTML 格式发送 jasperreport

转载 作者:行者123 更新时间:2023-11-30 09:25:15 24 4
gpt4 key购买 nike

我正在使用 JapserReports 在 Java 中显示报告。我可以将 PDF 格式的报告发送到网络浏览器。

现在我想发送HTML格式的报告,下面是我发送HTML格式报告的方法。

protected void processRequest(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
{
File reportFile = new File(getServletConfig().getServletContext().getRealPath("/rpts/report1.jasper"));
ServletOutputStream servletOutputStream = response.getOutputStream();
byte[] bytes = null;
Map<String,Object> parameter = new HashMap<String,Object>();
Connection con = DBConnection.getConnection("");
try
{
bytes = JasperRunManager.runReportToHtmlFile(reportFile.getPath(),parameter,con).getBytes();
response.setContentType("text/html");
response.setContentLength(bytes.length);
servletOutputStream.write(bytes, 0, bytes.length);
servletOutputStream.flush();
servletOutputStream.close();
}
catch (JRException e)
{
System.out.println(e);
}
}

以上方法打印生成的HTML文件的路径。当我检查路径时,HTML 文件随数据一起生成。

那么我在代码中遗漏了什么吗?

提前致谢....

最佳答案

尝试设置 Content-Disposition 和 html 文件名。

    response.setHeader("Content-Disposition","inline, filename=myReport.html");
response.setContentType("text/html");
response.setContentLength(bytes.length);
servletOutputStream.write(bytes, 0, bytes.length);
servletOutputStream.flush();
servletOutputStream.close();

runReportToHtmlFile 方法返回绝对文件路径。在写入输出流之前,需要将生成的 html 文件读入字节数组。

以下代码可能适合您。

        String reportPath =JasperRunManager.runReportToHtmlFile(reportFile.getPath(), parameter);
File reportHtmlFile = new File(reportPath);
FileInputStream fis = new FileInputStream(reportHtmlFile);
byte[] bytes = new byte[(int)reportHtmlFile.length()];
fis.read(bytes);
resp.setHeader("Content-Disposition","inline; filename=myReport.html");
resp.setContentType("text/html");
resp.setContentLength(bytes.length);
servletOutputStream.write(bytes, 0, bytes.length);
servletOutputStream.flush();
servletOutputStream.close();

关于java - 以 HTML 格式发送 jasperreport,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15405173/

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