Jasper reports 填充打印时出错。。。计算表达式时出错

Jasper reports 填充打印时出错。。。计算表达式时出错,jasper-reports,Jasper Reports,问题是你声明 <?xml version="1.0" encoding="UTF-8"?> <jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperrepor

问题是你声明

<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="null" language="groovy" pageWidth="555" pageHeight="802" columnWidth="555" leftMargin="0" rightMargin="0" topMargin="0" bottomMargin="0" uuid="478ce75d-1606-47d2-88eb-f8079f50c69b">
    <parameter name="SUBREPORT_DIR" class="java.lang.String" isForPrompting="false">
        <defaultValueExpression><![CDATA["D:\\newpackage\\"]]></defaultValueExpression>
    </parameter>
    <parameter name="MEMBER_CERTIFICATE_PARAM_SUB" class="java.lang.Integer" isForPrompting="false">
        <defaultValueExpression><![CDATA[Integer.parseInt($P{MEMBER_CERTIFICATE_PARAM_MAIN})]]></defaultValueExpression>
    </parameter>
    <parameter name="MEMBER_CERTIFICATE_PARAM_MAIN" class="java.lang.String">
        <defaultValueExpression><![CDATA[]]></defaultValueExpression>
    </parameter>
    <queryString>
        <![CDATA[SELECT * FROM table_name WHERE atr = $P{MEMBER_CERTIFICATE_PARAM_SUB}]]>
    </queryString>
    <field name="national_id_number" class="java.lang.String"/>
    <field name="national_pin_number" class="java.lang.String"/>
    <field name="contact_email" class="java.lang.String"/>
    <field name="biometric_member_number" class="java.lang.String"/>
    <title>
        <band height="74" splitType="Stretch">
            <subreport>
                <reportElement x="0" y="0" width="555" height="72" uuid="2cee9cb2-abe3-4739-9b64-ec405bf9912b"/>
                <connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
                <subreportExpression><![CDATA["D:\\DOCUMENTS\\NetBeansProjects\\NhifHeader\\src\\nhifheader\\PotraitNhifHeader\\PortraitNhifHeader.jasper"]]></subreportExpression>
            </subreport>
        </band>
    </title>
    <pageHeader>
        <band height="56" splitType="Stretch">
            <textField>
                <reportElement x="529" y="13" width="26" height="15" uuid="1d23b617-b659-4f87-acfd-e07b54913ccd"/>
                <textFieldExpression><![CDATA[$F{national_pin_number}]]></textFieldExpression>
            </textField>
            <staticText>
                <reportElement x="367" y="13" width="173" height="15" uuid="e02099fe-b171-4a24-bb15-195a046921c8"/>
                <textElement>
                    <font isBold="true"/>
                </textElement>
                <text><![CDATA[Personal Identification Number:]]></text>
            </staticText>
            <componentElement>
                <reportElement x="0" y="1" width="240" height="30" uuid="311343bc-7e09-4658-8a1e-810fe91d1a3f"/>
                <jr:Code39 xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd" textPosition="bottom">
                    <jr:codeExpression><![CDATA[$F{biometric_member_number}]]></jr:codeExpression>
                </jr:Code39>
            </componentElement>
            <staticText>
                <reportElement x="367" y="0" width="31" height="15" uuid="fefca1d6-a90f-4dba-996c-1c00883eba1c"/>
                <textElement>
                    <font isBold="true"/>
                </textElement>
                <text><![CDATA[Date]]></text>
            </staticText>
            <textField pattern="MMMMM dd, yyyy">
                <reportElement x="398" y="0" width="142" height="20" uuid="c3c68a84-f1d6-43c9-9c83-8b5eaacd6c38"/>
                <textFieldExpression><![CDATA[new java.util.Date()]]></textFieldExpression>
            </textField>
            <line>
                <reportElement x="0" y="33" width="555" height="1" forecolor="#E6DAC3" backcolor="#E6DAC3" uuid="003310a9-85b0-447a-bc29-8f97f0006c1d"/>
            </line>
            <staticText>
                <reportElement x="2" y="35" width="553" height="20" uuid="5d8caf66-df88-403d-b96a-1ba2d0e84087"/>
                <textElement textAlignment="Center"/>
                <text><![CDATA[This is to certify that person shown herein is a member of NHIF: National Hospital Insurance Fund]]></text>
            </staticText>
            <frame>
                <reportElement mode="Opaque" x="179" y="1" width="172" height="21" forecolor="#C0C0C0" backcolor="#C0C0C0" uuid="63309c64-53a9-41e7-b490-fa5278230357"/>
                <staticText>
                    <reportElement mode="Transparent" x="33" y="0" width="113" height="20" forecolor="#000000" backcolor="#000000" uuid="ca2b9d0e-5260-4fb3-9f20-308a4349852e"/>
                    <textElement>
                        <font size="12" isBold="true"/>
                    </textElement>
                    <text><![CDATA[Member Certificate]]></text>
                </staticText>
            </frame>
        </band>
    </pageHeader>
    <detail>
        <band height="67" splitType="Stretch">
            <subreport>
                <reportElement x="0" y="0" width="555" height="66" uuid="27c682e0-71b6-4232-8a7a-9efaad62240f"/>
                <subreportParameter name="MEMBER_CERTIFICATE_PARAM_MAIN">
                    <subreportParameterExpression><![CDATA[$P{MEMBER_CERTIFICATE_PARAM_MAIN}]]></subreportParameterExpression>
                </subreportParameter>
                <subreportParameter name="MEMBER_CERTIFICATE_PARAM_SUB">
                    <subreportParameterExpression><![CDATA[$P{MEMBER_CERTIFICATE_PARAM_SUB}]]></subreportParameterExpression>
                </subreportParameter>
                <subreportParameter name="SUBREPORT_DIR">
                    <subreportParameterExpression><![CDATA[$P{SUBREPORT_DIR}]]></subreportParameterExpression>
                </subreportParameter>
                <connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
                <subreportExpression><![CDATA["D:\\MemberCertificate\\MemberCertificateAddress.jasper"]]></subreportExpression>
            </subreport>
        </band>
        <band height="68">
            <subreport>
                <reportElement x="0" y="0" width="555" height="67" uuid="169130d8-125e-45c4-b455-4cdced7665d1"/>
                <subreportParameter name="MEMBER_CERTIFICATE_PARAM_MAIN">
                    <subreportParameterExpression><![CDATA[$P{MEMBER_CERTIFICATE_PARAM_MAIN}]]></subreportParameterExpression>
                </subreportParameter>
                <subreportParameter name="MEMBER_CERTIFICATE_PARAM_SUB">
                    <subreportParameterExpression><![CDATA[$P{MEMBER_CERTIFICATE_PARAM_SUB}]]></subreportParameterExpression>
                </subreportParameter>
                <subreportParameter name="SUBREPORT_DIR">
                    <subreportParameterExpression><![CDATA[$P{SUBREPORT_DIR}]]></subreportParameterExpression>
                </subreportParameter>
                <connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
                <subreportExpression><![CDATA["D:\\MemberCertificate\\MemberCertificateInfo.jasper"]]></subreportExpression>
            </subreport>
        </band>
        <band height="56">
            <subreport>
                <reportElement x="0" y="0" width="555" height="55" uuid="f36d8a91-96b9-44fc-a393-bbc5752b5316"/>
                <subreportParameter name="MEMBER_CERTIFICATE_PARAM_MAIN">
                    <subreportParameterExpression><![CDATA[$P{MEMBER_CERTIFICATE_PARAM_MAIN}]]></subreportParameterExpression>
                </subreportParameter>
                <subreportParameter name="MEMBER_CERTIFICATE_PARAM_SUB">
                    <subreportParameterExpression><![CDATA[$P{MEMBER_CERTIFICATE_PARAM_SUB}]]></subreportParameterExpression>
                </subreportParameter>
                <subreportParameter name="SUBREPORT_DIR">
                    <subreportParameterExpression><![CDATA[$P{SUBREPORT_DIR}]]></subreportParameterExpression>
                </subreportParameter>
                <connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
                <subreportExpression><![CDATA["D:\\MemberCertificate\\MemberCertificateIsuranceObligation.jasper"]]></subreportExpression>
            </subreport>
        </band>
    </detail>
</jasperReport>

使用默认值

<parameter name="MEMBER_CERTIFICATE_PARAM_SUB"...>


甚至在声明
$p{MEMBER\u CERTIFICATE\u PARAM\u MAIN}
是什么之前。事实证明,文件从一开始就在读取,所有表达式在读取时都在计算。在评估
“MEMBER\u CERTIFICATE\u PARAM\u SUB”
报表时,它不知道
$P{MEMBER\u CERTIFICATE\u PARAM\u MAIN}
是什么。

问题在于您声明了

<?xml version="1.0" encoding="UTF-8"?>
<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="null" language="groovy" pageWidth="555" pageHeight="802" columnWidth="555" leftMargin="0" rightMargin="0" topMargin="0" bottomMargin="0" uuid="478ce75d-1606-47d2-88eb-f8079f50c69b">
    <parameter name="SUBREPORT_DIR" class="java.lang.String" isForPrompting="false">
        <defaultValueExpression><![CDATA["D:\\newpackage\\"]]></defaultValueExpression>
    </parameter>
    <parameter name="MEMBER_CERTIFICATE_PARAM_SUB" class="java.lang.Integer" isForPrompting="false">
        <defaultValueExpression><![CDATA[Integer.parseInt($P{MEMBER_CERTIFICATE_PARAM_MAIN})]]></defaultValueExpression>
    </parameter>
    <parameter name="MEMBER_CERTIFICATE_PARAM_MAIN" class="java.lang.String">
        <defaultValueExpression><![CDATA[]]></defaultValueExpression>
    </parameter>
    <queryString>
        <![CDATA[SELECT * FROM table_name WHERE atr = $P{MEMBER_CERTIFICATE_PARAM_SUB}]]>
    </queryString>
    <field name="national_id_number" class="java.lang.String"/>
    <field name="national_pin_number" class="java.lang.String"/>
    <field name="contact_email" class="java.lang.String"/>
    <field name="biometric_member_number" class="java.lang.String"/>
    <title>
        <band height="74" splitType="Stretch">
            <subreport>
                <reportElement x="0" y="0" width="555" height="72" uuid="2cee9cb2-abe3-4739-9b64-ec405bf9912b"/>
                <connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
                <subreportExpression><![CDATA["D:\\DOCUMENTS\\NetBeansProjects\\NhifHeader\\src\\nhifheader\\PotraitNhifHeader\\PortraitNhifHeader.jasper"]]></subreportExpression>
            </subreport>
        </band>
    </title>
    <pageHeader>
        <band height="56" splitType="Stretch">
            <textField>
                <reportElement x="529" y="13" width="26" height="15" uuid="1d23b617-b659-4f87-acfd-e07b54913ccd"/>
                <textFieldExpression><![CDATA[$F{national_pin_number}]]></textFieldExpression>
            </textField>
            <staticText>
                <reportElement x="367" y="13" width="173" height="15" uuid="e02099fe-b171-4a24-bb15-195a046921c8"/>
                <textElement>
                    <font isBold="true"/>
                </textElement>
                <text><![CDATA[Personal Identification Number:]]></text>
            </staticText>
            <componentElement>
                <reportElement x="0" y="1" width="240" height="30" uuid="311343bc-7e09-4658-8a1e-810fe91d1a3f"/>
                <jr:Code39 xmlns:jr="http://jasperreports.sourceforge.net/jasperreports/components" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports/components http://jasperreports.sourceforge.net/xsd/components.xsd" textPosition="bottom">
                    <jr:codeExpression><![CDATA[$F{biometric_member_number}]]></jr:codeExpression>
                </jr:Code39>
            </componentElement>
            <staticText>
                <reportElement x="367" y="0" width="31" height="15" uuid="fefca1d6-a90f-4dba-996c-1c00883eba1c"/>
                <textElement>
                    <font isBold="true"/>
                </textElement>
                <text><![CDATA[Date]]></text>
            </staticText>
            <textField pattern="MMMMM dd, yyyy">
                <reportElement x="398" y="0" width="142" height="20" uuid="c3c68a84-f1d6-43c9-9c83-8b5eaacd6c38"/>
                <textFieldExpression><![CDATA[new java.util.Date()]]></textFieldExpression>
            </textField>
            <line>
                <reportElement x="0" y="33" width="555" height="1" forecolor="#E6DAC3" backcolor="#E6DAC3" uuid="003310a9-85b0-447a-bc29-8f97f0006c1d"/>
            </line>
            <staticText>
                <reportElement x="2" y="35" width="553" height="20" uuid="5d8caf66-df88-403d-b96a-1ba2d0e84087"/>
                <textElement textAlignment="Center"/>
                <text><![CDATA[This is to certify that person shown herein is a member of NHIF: National Hospital Insurance Fund]]></text>
            </staticText>
            <frame>
                <reportElement mode="Opaque" x="179" y="1" width="172" height="21" forecolor="#C0C0C0" backcolor="#C0C0C0" uuid="63309c64-53a9-41e7-b490-fa5278230357"/>
                <staticText>
                    <reportElement mode="Transparent" x="33" y="0" width="113" height="20" forecolor="#000000" backcolor="#000000" uuid="ca2b9d0e-5260-4fb3-9f20-308a4349852e"/>
                    <textElement>
                        <font size="12" isBold="true"/>
                    </textElement>
                    <text><![CDATA[Member Certificate]]></text>
                </staticText>
            </frame>
        </band>
    </pageHeader>
    <detail>
        <band height="67" splitType="Stretch">
            <subreport>
                <reportElement x="0" y="0" width="555" height="66" uuid="27c682e0-71b6-4232-8a7a-9efaad62240f"/>
                <subreportParameter name="MEMBER_CERTIFICATE_PARAM_MAIN">
                    <subreportParameterExpression><![CDATA[$P{MEMBER_CERTIFICATE_PARAM_MAIN}]]></subreportParameterExpression>
                </subreportParameter>
                <subreportParameter name="MEMBER_CERTIFICATE_PARAM_SUB">
                    <subreportParameterExpression><![CDATA[$P{MEMBER_CERTIFICATE_PARAM_SUB}]]></subreportParameterExpression>
                </subreportParameter>
                <subreportParameter name="SUBREPORT_DIR">
                    <subreportParameterExpression><![CDATA[$P{SUBREPORT_DIR}]]></subreportParameterExpression>
                </subreportParameter>
                <connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
                <subreportExpression><![CDATA["D:\\MemberCertificate\\MemberCertificateAddress.jasper"]]></subreportExpression>
            </subreport>
        </band>
        <band height="68">
            <subreport>
                <reportElement x="0" y="0" width="555" height="67" uuid="169130d8-125e-45c4-b455-4cdced7665d1"/>
                <subreportParameter name="MEMBER_CERTIFICATE_PARAM_MAIN">
                    <subreportParameterExpression><![CDATA[$P{MEMBER_CERTIFICATE_PARAM_MAIN}]]></subreportParameterExpression>
                </subreportParameter>
                <subreportParameter name="MEMBER_CERTIFICATE_PARAM_SUB">
                    <subreportParameterExpression><![CDATA[$P{MEMBER_CERTIFICATE_PARAM_SUB}]]></subreportParameterExpression>
                </subreportParameter>
                <subreportParameter name="SUBREPORT_DIR">
                    <subreportParameterExpression><![CDATA[$P{SUBREPORT_DIR}]]></subreportParameterExpression>
                </subreportParameter>
                <connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
                <subreportExpression><![CDATA["D:\\MemberCertificate\\MemberCertificateInfo.jasper"]]></subreportExpression>
            </subreport>
        </band>
        <band height="56">
            <subreport>
                <reportElement x="0" y="0" width="555" height="55" uuid="f36d8a91-96b9-44fc-a393-bbc5752b5316"/>
                <subreportParameter name="MEMBER_CERTIFICATE_PARAM_MAIN">
                    <subreportParameterExpression><![CDATA[$P{MEMBER_CERTIFICATE_PARAM_MAIN}]]></subreportParameterExpression>
                </subreportParameter>
                <subreportParameter name="MEMBER_CERTIFICATE_PARAM_SUB">
                    <subreportParameterExpression><![CDATA[$P{MEMBER_CERTIFICATE_PARAM_SUB}]]></subreportParameterExpression>
                </subreportParameter>
                <subreportParameter name="SUBREPORT_DIR">
                    <subreportParameterExpression><![CDATA[$P{SUBREPORT_DIR}]]></subreportParameterExpression>
                </subreportParameter>
                <connectionExpression><![CDATA[$P{REPORT_CONNECTION}]]></connectionExpression>
                <subreportExpression><![CDATA["D:\\MemberCertificate\\MemberCertificateIsuranceObligation.jasper"]]></subreportExpression>
            </subreport>
        </band>
    </detail>
</jasperReport>
<defaultValueExpression><![CDATA[Integer.parseInt($P{MEMBER_CERTIFICATE_PARAM_MAIN})]]></defaultValueExpression>

使用默认值

<parameter name="MEMBER_CERTIFICATE_PARAM_SUB"...>

甚至在声明
$p{MEMBER\u CERTIFICATE\u PARAM\u MAIN}
是什么之前。事实证明,文件从一开始就在读取,所有表达式在读取时都在计算。在评估
时,“成员证书参数子项”
报告不知道
$P{MEMBER\u CERTIFICATE\u PARAM\u MAIN}
是什么。


<defaultValueExpression><![CDATA[Integer.parseInt($P{MEMBER_CERTIFICATE_PARAM_MAIN})]]></defaultValueExpression>


只是个主意。如果你声明
只是一个想法,会有帮助吗。如果您声明
无需复制正确答案,是否有帮助。接受正确答案是否更好(作者:伊根·沃尔夫)无需复制正确答案。接受正确的答案更好吗(伊根·沃尔夫)