我是 JasperReports 的新手。所以,我已经成功创建了我想要的报告功能,我有3个参数,包括日期和2个字符串。到目前为止,当查询结果(非空)时,它会很顺利。但是如果查询为空,则创建的pdf将为纯白色空白。
所以,我想做的是,我想验证它,每当它生成一个普通的白色pdf时,我不想显示空白的pdf,而是我想显示一些错误信息。这可能吗?
这是我的代码,在JSP中使用javascript。
<%
Connection conn = null;
try{
Class.forName("oracle.jdbc.OracleDriver");
conn = DriverManager.getConnection("jdbc:oracle:thin:@333.0.0.1:3333:sample", "asd", "asd");
} catch (Exception e){
e.printStackTrace();
}
String method_param = request.getParameter("method");
if(method_param.equals("default")){
method_param = "%";
}
String date_param = request.getParameter("date");
if(date_param == ""){
date_param = "%";
}
String status_param = request.getParameter("status");
if(status_param.equals("default")){
status_param = "%";
}
Map parameters = new HashMap();
parameters.put("method_param", method_param);
parameters.put("date_param", date_param);
parameters.put("status_param", status_param);
JasperPrint jasperPrint = JasperFillManager.fillReport("C:/myaddress/lalala/WEB-INF/reports/Reports.jasper", parameters, conn);
OutputStream outputStream = response.getOutputStream();
JRExporter exporter = new JRPdfExporter();
response.setContentType("application/pdf");
response.setHeader("Content-Disposition", "inline; filename=\"report.pdf\"");
exporter.setParameter(JRExporterParameter.JASPER_PRINT, jasperPrint);
exporter.setParameter(JRExporterParameter.OUTPUT_STREAM, outputStream);
exporter.exportReport();
if (outputStream != null)
{
try
{
outputStream.close();
}
catch (IOException ex){
ex.printStackTrace();
}
}
%>
效果很好,但我只想避免使用空白pdf。
答案 0 :(得分:2)
jasper报告提供了一个名为REPORT_COUNT的预定义变量。它包含报告中存在的记录总数。
您可以使用此变量来显示相应的消息,例如“找不到记录”。
由于