java报告30页_Java-Jasper报告空白页

我的jrxml和Java代码如下.我正在尝试使用一些文本和值创建报告.但是,将生成空白报告.我正在粘贴地图以将报告填充为参数.我必须添加4-5条静态行,然后添加一个动态变量.我在详细的乐队中添加了这些东西.错了什么

name="Untitled_report_2"

columnCount="1"

printOrder="Vertical"

orientation="Portrait"

pageWidth="595"

pageHeight="842"

columnWidth="535"

columnSpacing="0"

leftMargin="30"

rightMargin="30"

topMargin="20"

bottomMargin="20"

whenNoDataType="NoPages"

isTitleNewPage="false"

isSummaryNewPage="false">

x="20"

y="10"

width="180"

height="30"

key="staticText-1"/>

x="20"

y="40"

width="60"

height="20"

key="textField-1"/>

x="20"

y="70"

width="160"

height="30"

key="staticText-2"/>

Java代码:

InputStream fileInput = getApplicationContext().getResource("/WEB-INF/reports/myjrxml.jrxml").getInputStream();

JasperReport jasperReport = JasperCompileManager.compileReport(fileInput);

HashMap map = new HashMap();

map.put("Field", "test");

JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, map);

byte[] output1 = JasperExportManager.exportReportToPdf(jasperPrint);

String filename = "d:/test.pdf";

FileOutputStream fo = new FileOutputStream(filename);

fo.write(output1);

fo.close();

解决方法:

您正在将报告数据与参数混淆.我看不到您有任何报告数据,这就是为什么您得到空报告的原因.此外,您要填充一个名为“ Field”的参数,而不是实际的报告数据.因此,您需要在报表中创建一个名为“字段”的参数,然后在详细信息区域中对其进行引用,或者您需要将报表数据传递到报表中,例如

JRBeanCollectionDataSource data = new JRBeanCollectionDataSource(dataSet);

jasperPrint = JasperFillManager.fillReport(jasperReport, parameterMap, data);

其中dataSet是一个集合,例如List.在列表中,您将拥有一个对象,其中属性之一是字段.

标签:jasper-reports,java

来源: https://codeday.me/bug/20191025/1925818.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值