创建的 Jasper 报告为空,不显示任何错误



我在应用程序中使用 jasper 报告。并且有一个创建报告和前端请求报告的服务。

但是当我下载PDF时,PDF是空的。

我尝试将其导出为 HTML 文档。对于所有方案,响应如下所示。

<html>
   <head>
   <title></title>
   <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
   <style type="text/css">
      a {text-decoration: none}
   </style>
   </head>
   <body text="#000000" link="#000000" alink="#000000" vlink="#000000">
   <table width="100%" cellpadding="0" cellspacing="0" border="0">
   <tr><td width="50%">&nbsp;</td><td align="center">
   <![if IE]>
   <script>
   var links = document.querySelectorAll('link.jrWebFont');
    setTimeout(function(){ if (links) { for (var i = 0; i < links.length;    i++) { links.item(i).href = links.item(i).href; } } }, 0);
   </script>
   <![endif]>
   </td><td width="50%">&nbsp;</td></tr>
       </table>
  </body>
</html>

似乎也是一个空的 html 页面。

为什么会这样。我搜索了其他类似的答案,但没有运气。

默认情况下,JasperReports 会输出一个空文档,以防数据源不返回任何数据。例如,这对于创建仅在子报表也有数据时才可见的子报表很有帮助。

要控制 jasper 如何处理空数据源,可以使用 ** whenNoDataType** 属性。不同的设置是

  • 无页面(默认)Jasper 返回一个空文档
  • 空白页 Jasper 返回一个包含一页空白页的文档
  • 所有部分无详细信息 Jasper 呈现整个报表时会跳过详细信息范围。
  • 无数据部分 Jasper 仅呈现无数据波段。请注意,默认情况下,这不是报表的一部分,需要添加才能使用此选项。

最新更新