0
私は、JasperReportsを使ってデータベース内のデータからPDFファイルを生成しようとしています。初めてデータベースのデータを使ってpdfファイルを生成しました。その後、データベーステーブルを変更してjrxml
ファイルを再作成し、そのjrxml
ファイルを使用してjasper
ファイルを作成しました。しかし、今私はpdfを生成しようとしているとき、pdfファイルは常に空です。JasperReports Print Empty PDF
コード私のサーブレットで
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) {
}
どのように私はこの問題を解決するだろうか?
@AndrewThompson '線 'JasperRunManager.runReportToPdfStream以下とNullPointerException'(再度、セット、新しいHashMapの()、resultSetDataSource);' – Bishan
OK ..そう 're'、' set'または 'の一つresultSetDataSource'は 'null'ですか? –
@AndrewThompsonエラーが見つかりました。私の元の '.jasper'ファイル名は' Results.jasper'です。私のコードでは 'results.jasper'としました。私はそれを訂正した。スタックトレースには何もエラーはありません。サーブレットを実行すると、pdfファイルは生成されません。 – Bishan