贾斯珀报告空白页

2023-12-13

我的 jrxml 和 java 代码如下。我正在尝试创建包含一些文本和值的报告。但是会生成空白报告。我正在传递地图来填充报告作为参数。我必须添加 4-5 条静态行,然后添加一个动态变量。我已经在详细的乐队中添加了这些东西。出了什么问题

    <?xml version="1.0" encoding="UTF-8"  ?>
    <!-- Created with iReport - A designer for JasperReports -->
    <!DOCTYPE jasperReport PUBLIC "//JasperReports//DTD Report Design//EN" "http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">
    <jasperReport
             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">
        <property name="ireport.scriptlethandling" value="0" />
        <property name="ireport.encoding" value="UTF-8" />
        <import value="java.util.*" />
        <import value="net.sf.jasperreports.engine.*" />
        <import value="net.sf.jasperreports.engine.data.*" />


        <field name="Field" class="java.lang.String"/>

            <background>
                <band height="0"  isSplitAllowed="true" >
                </band>
            </background>
            <title>
                <band height="50"  isSplitAllowed="true" >
                </band>
            </title>
            <pageHeader>
                <band height="50"  isSplitAllowed="true" >
                </band>
            </pageHeader>
            <columnHeader>
                <band height="30"  isSplitAllowed="true" >
                </band>
            </columnHeader>
            <detail>
                <band height="100"  isSplitAllowed="true" >
                    <staticText>
                        <reportElement
                            x="20"
                            y="10"
                            width="180"
                            height="30"
                            key="staticText-1"/>
                        <box></box>
                        <textElement>
                            <font/>
                        </textElement>
                    <text><![CDATA[4-5 lines text]]></text>
                    </staticText>
                    <textField isStretchWithOverflow="false" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" >
                        <reportElement
                            x="20"
                            y="40"
                            width="60"
                            height="20"
                            key="textField-1"/>
                        <box></box>
                        <textElement>
                            <font/>
                        </textElement>
                    <textFieldExpression   class="java.lang.String"><![CDATA[$F{Field}]]></textFieldExpression>
                    </textField>
                    <staticText>
                        <reportElement
                            x="20"
                            y="70"
                            width="160"
                            height="30"
                            key="staticText-2"/>
                        <box></box>
                        <textElement>
                            <font/>
                        </textElement>
                    <text><![CDATA[4-5 lines text]]></text>
                    </staticText>
                </band>
            </detail>
            <columnFooter>
                <band height="30"  isSplitAllowed="true" >
                </band>
            </columnFooter>
            <pageFooter>
                <band height="50"  isSplitAllowed="true" >
                </band>
            </pageFooter>
            <lastPageFooter>
                <band height="50"  isSplitAllowed="true" >
                </band>
            </lastPageFooter>
            <summary>
                <band height="50"  isSplitAllowed="true" >
                </band>
            </summary>
    </jasperReport>

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”而不是实际的报告数据。因此,您要么需要在报告中创建一个名为“Field”的参数,然后在详细信息区域中引用它,要么需要将报告数据传递到报告中,例如

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

where dataSet是一个集合,例如List<?>。在列表中,您将拥有一个对象,其中属性之一是Field.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

贾斯珀报告空白页 的相关文章

随机推荐

  • Neo4j 中跨多个字段的全文搜索示例?

    我见过一些简单的文本搜索示例STARTS WITH name例如 http www jexp de blog html full text and spatial search in neo4j 3 html https blog knol
  • 为什么验证规则的行为(仅)与 onDisconnect 更新不同?

    我用 firebase 做了一些测试 发现规则验证之间存在差异onDisconnect update 和简单的update using newData parent 在规则中 当我使用update 有用 但与onDisonnect upda
  • Python 列表的 += 运算符等同于append() 或extend() 吗? [复制]

    这个问题在这里已经有答案了 Python 列表有一个 运算符以及append and extend方法 If l是一个列表 是l 相当于l append l extend 两者都存在 还是两者都不存在 在 python 中 列表上的 相当于
  • Make file 不检测源文件中的更改

    我对 make 文件非常陌生 我面临着非常基本的问题 我的 Makefile 没有检测到我对源文件所做的更改 问题是 当我第一次从源文件生成 consoleapp 二进制文件时 我得到了预期的输出 但是当我再次更改源文件并再次运行 make
  • 为什么这个 awk 脚本看不到 shell 变量?

    请告诉我为什么这个程序不起作用 帮助我改进它 for i in seq 2 30 do awk if i lt 0 05 print 1 i test txt gt phen i txt done 文件 test txt 如下所示 name
  • 如何从 swift 将浮点数数组的数组传递给 C++ 函数

    我有一个 C 函数声明于Bridging Header h struct MyFloat3 float x float y float z struct MyFloat3 ExtCurl const float triangle 我已按照以
  • Polly 的 Policy.TimeoutAsync 不适用于异步上下文中的 PolicyWrap

    这是一个完全有效的示例 复制 粘贴它并尝试一下 只需获取 Polly Nuget 我有以下控制台应用程序代码 它向 上的 HTTP 客户端沙箱发出 POST 请求http ptsv2 com t v98pb 1521637251 post
  • 将 EF CodeFirst 基类转换为继承类(使用每个类型表)

    我使用 EF Code First 并定义了两个类 如下所示 public class User public int Id get set public string Username get set public string Emai
  • 为 Firebase 生成 JWT

    我正在尝试为 Windows 上的 C NET 编写一个自定义 JWT 令牌生成器 以便在 Google Firebase 中使用 我从 StackOverflow 上的几个不同地方获取了源代码 我正在尝试重新发现它们 这样我就可以相信原作
  • 任何表中是否都必须有?

    是否有必要有 th 在任何表中 即使表格没有标题 表还有 3 个其他标签 thead tbody tfoot 即使我没有表页脚 是否有必要全部使用 Firefox 默认情况下将所有这些添加到代码中 以及是否有必要 th 总是应该在 thea
  • ggplot2:使用多个绘图的选项

    我想创建 10 个具有不同数据但光学外观相同的图 例如 我想更改每个图的网格线的颜色 这可以通过添加来完成 opts panel grid major theme line colour white 每个绘图定义 然而 当我现在决定将背景颜
  • 检查 grep 命令是否返回正确的输出

    事情是我正在使用wget之后提取 url 我想将其通过管道传输到 grep 以检查它是否匹配某些模式 以及它是否只是回显 url 的名称 像这样的东西 wget url grep pattern if successful display
  • 为什么函数指针都具有相同的值?

    例如 using namespace std include
  • 什么是 ELF——换行?

    我在 travis 中收到此错误 但我不知道这意味着什么 home travis nvm v0 11 13 bin node 1 function exports require module filename dirname ELF Sy
  • 压缩Python列表中的所有连续的

    我有变量列表充满0s and 1s like l1 1 1 1 0 1 1 l2 0 1 1 0 1 1 0 0 1 创建压缩所有连续列表的新列表的最有效方法是什么1s 所以结果是 l1 new 1 0 1 l2 new 0 1 0 1 0
  • 延迟显示数组元素

    我有一个数组s John Alex Mark 我想以 3 秒的延迟一一显示该数组的元素 for var i 0 i lt 3 i setTimeout function x innerHTML s i 3000 这看起来很简单的问题 但我无
  • 解组 yaml 并保持顺序

    假设我有以下 yaml 文件 key1 Value1 Value2 key2 Value3 Value4 我想在 Go 中对其进行解组 我可以让 Go 决定方案应该是什么样子并将其打印出来 m make map interface inte
  • 与其依赖项隔离的单元测试值对象

    TL DR如何在不存根或注入依赖项的情况下测试值对象 在 Misko Hevery 的博客文章中 新 还是不 新 他主张以下内容 引自博客文章 Injectable 类可以在其构造函数中请求其他 Injectable 有时我将 Inject
  • 为什么malloc是16字节对齐的?

    The GNU文件指出malloc在 64 位系统上与 16 字节倍数对齐 为什么是这样 如果我的理解是正确的 寄存器和所有指令都对最大 8 字节宽的值进行操作 因此 似乎需要 8 字节对齐 Notes 我找到了一些理由来解释为什么堆栈指针
  • 贾斯珀报告空白页

    我的 jrxml 和 java 代码如下 我正在尝试创建包含一些文本和值的报告 但是会生成空白报告 我正在传递地图来填充报告作为参数 我必须添加 4 5 条静态行 然后添加一个动态变量 我已经在详细的乐队中添加了这些东西 出了什么问题