JasperReports 打印空 PDF

发布于 2025-01-02 00:40:23 字数 1119 浏览 0 评论 0原文

我正在尝试使用 JasperReports 和 java servlet 从数据库中的数据生成 pdf 文件。我第一次使用数据库中的数据成功生成了 pdf 文件。然后,我对数据库表进行了一些更改,重新创建了 jrxml 文件,并使用该 jrxml 文件创建了 jasper 文件。但现在当我尝试生成 pdf 时,pdf 文件始终为空。

我的 Servlet 中的代码

response.setContentType("application/pdf");
try {

    HttpSession hs = request.getSession();
    String id = (String) hs.getAttribute("id");

    Class.forName("com.mysql.jdbc.Driver");
    Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/exam", "root", "pass");
    Statement statement = con.createStatement();
    ResultSet resultSet = statement.executeQuery 
            ("SELECT marks, date_time FROM result where sub_id = 1  and user_id = 3");

    ServletOutputStream set = response.getOutputStream();
    InputStream re = getServletConfig().getServletContext().getResourceAsStream("./results.jasper");
    JRResultSetDataSource resultSetDataSource = new JRResultSetDataSource(resultSet);
    JasperRunManager.runReportToPdfStream(re,set, new HashMap(), resultSetDataSource);

} catch (Exception e) {

}

我该如何解决这个问题?

I'm trying to generate a pdf file from data in a database using JasperReports with a java servlet. The first time I generated a pdf file successfully with data in database. Then I made some changes in my database table and recreated jrxml file and created a jasper file using that jrxml file. But now when I am trying to generate a pdf, the pdf file is always empty.

Code in my Servlet

response.setContentType("application/pdf");
try {

    HttpSession hs = request.getSession();
    String id = (String) hs.getAttribute("id");

    Class.forName("com.mysql.jdbc.Driver");
    Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/exam", "root", "pass");
    Statement statement = con.createStatement();
    ResultSet resultSet = statement.executeQuery 
            ("SELECT marks, date_time FROM result where sub_id = 1  and user_id = 3");

    ServletOutputStream set = response.getOutputStream();
    InputStream re = getServletConfig().getServletContext().getResourceAsStream("./results.jasper");
    JRResultSetDataSource resultSetDataSource = new JRResultSetDataSource(resultSet);
    JasperRunManager.runReportToPdfStream(re,set, new HashMap(), resultSetDataSource);

} catch (Exception e) {

}

How could I solve this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

酒与心事 2025-01-09 00:40:23

将每个 catch 更改为

...
} catch (Exception e) { 
    e.printStackTrace(); 
}

That 将提供问题所在和位置的详细信息。

Change every catch to

...
} catch (Exception e) { 
    e.printStackTrace(); 
}

That will provide details of what is going wrong, and where.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文