【问题标题】:Fixing errors in JasperReport修复 JasperReport 中的错误
【发布时间】:2016-04-12 00:23:17
【问题描述】:

我需要一些关于 JasperReport 的帮助,这是我的模板

<?xml version="1.0"?>
<!DOCTYPE jasperReport
  PUBLIC "-//JasperReports//DTD Report Design//EN"
  "http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">

<jasperReport name="HelloReportWorld">
    <parameter name="reportTitle" class="java.lang.String"/>
    <parameter name="author" class="java.lang.String"/>
    <parameter name="startDate" class="java.lang.String"/>

<field name="CUSTOMER_ID" class="java.lang.Integer"/>
<field name="NAME" class="java.lang.String"/>
<field name="CITY" class="java.lang.String"/>
<field name="STATE" class="java.lang.String"/>


<title>
    <band height="60">
        <textField>
            <reportElement x="0" y="10" width="500" height="40"/>
            <textElement textAlignment="Center">
            <font size="24"/>
            </textElement>
            <textFieldExpression class="java.lang.String">
                <![CDATA[$P(reportTitle)]]>
            </textFieldExpression>
        </textField>
        <textField>
            <reportElement x="0" y="40" width="500" height="20"/>
            <textElement textAlignment = "Center"/>
            <textFieldExpression class="java.lang.String">
                <![CDATA["Ejecutado por: " + $P(author) +
                " on " + $P(startDate)]]>
            </textFieldExpression>
        </textField>
    </band>
</title>
<columnHeader>
    <band height="30">
        <rectangle>
            <reportElement x="0" y="0" width="500" height="25"/>
            <graphicElement/>
        </rectangle>
        <staticText>
            <reportElement x="5" y="5" width="50" height="15"/>
            <textElement/>
            <text><![CDATA[ID]]></text>
        </staticText>
        <staticText>
            <reportElement x="55" y="5" width="250" height="15"/>
            <text><![CDATA[Nombre]]></text>
        </staticText>
        <staticText>
            <reportElement x="205" y="5" width="255" height="15"/>
            <text><![CDATA[Ciudad, Estado]]></text>
        </staticText>
    </band>
</columnHeader>
<detail>
    <band height="20">
        <textField>
            <reportElement x="5" y="0" width="50" height="15"/>
            <textElement/>
            <textFieldExpression class="java.lang.Integer"><![CDATA[$P(CUSTOMER_ID)]]></textFieldExpression>
        </textField>
        <textField>
            <reportElement x="55" y="0" width="150" height="15"/>
            <textElement/>
            <textFieldExpression class="java.lang.String"><![CDATA[$P(NAME)]]></textFieldExpression>
        </textField>
        <textField>
            <reportElement x="5" y="0" width="50" height="15"/>
            <textElement/>
            <textFieldExpression class="java.lang.String"><![CDATA[$P(CITY) + ", " + $P(STATE)]]></textFieldExpression>
        </textField>

    </band>
</detail>

这里是主类:

import java.sql.DriverManager;
import java.sql.SQLException;
import java.util.HashMap;
import java.util.Locale;
import java.util.Map;
import net.sf.jasperreports.engine.JREmptyDataSource;
import net.sf.jasperreports.engine.JRException;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.JasperReport;
import net.sf.jasperreports.view.JasperViewer;

/**
 *
 * @author alejandro
 */
public class JAsperDemo1 {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) throws ClassNotFoundException, SQLException {
        String reportSource = "./reports/templates/HolaMundo.jrxml";
        String reportDest = "./reports/results/HolaMundo.html";


        Map<String, Object> params = new HashMap<String, Object>();

        params.put("reportTitle", "Informe Hola Mundo");
        params.put("author", "Jose Javier Ber");
        params.put("startDate",(new java.util.Date()).toString());

        try
        {
            JasperReport jasperReport = JasperCompileManager.compileReport(reportSource);

            Class.forName("org.apache.derby.jdbc.ClientDriver");

            java.sql.Connection conn = DriverManager.getConnection(
                    "jdbc:derby://localhost:1527/sample", "app", "app");


            JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, params, conn);
            JasperExportManager.exportReportToHtmlFile(jasperPrint, reportDest);

            JasperViewer.viewReport(jasperPrint);
        }catch(JRException ex){
            System.out.println(ex.getMessage());
        }
    }

}

这些是我得到的错误:

编译报表表达式类文件时遇到错误: C:\Users\alejandro\Documents\NetBeansProjects\JasperDemo\HelloReportWorld_1460420530440_343732.java:183: 错误:找不到符号 价值 = $F(PRODUCT_ID); //$JR_EXPR_ID=8$ ^ 符号:变量 PRODUCT_ID 位置:类 HelloReportWorld_1460420530440_343732 C:\Users\alejandro\Documents\NetBeansProjects\JasperDemo\HelloReportWorld_1460420530440_343732.java:188: 错误:找不到符号 价值 = $F(描述); //$JR_EXPR_ID=9$ ^ 符号:变量描述位置:类 HelloReportWorld_1460420530440_343732 C:\Users\alejandro\Documents\NetBeansProjects\JasperDemo\HelloReportWorld_1460420530440_343732.java:193: 错误:找不到符号 价值 = $F(PURCHASE_COST); //$JR_EXPR_ID=10$ ^ 符号:变量 PURCHASE_COST 位置:类 HelloReportWorld_1460420530440_343732 C:\Users\alejandro\Documents\NetBeansProjects\JasperDemo\HelloReportWorld_1460420530440_343732.java:256: 错误:找不到符号 价值 = $F(PRODUCT_ID); //$JR_EXPR_ID=8$ ^ 符号:变量 PRODUCT_ID 位置:类 HelloReportWorld_1460420530440_343732 C:\Users\alejandro\Documents\NetBeansProjects\JasperDemo\HelloReportWorld_1460420530440_343732.java:261: 错误:找不到符号 价值 = $F(描述); //$JR_EXPR_ID=9$ ^ 符号:变量描述位置:类 HelloReportWorld_1460420530440_343732 C:\Users\alejandro\Documents\NetBeansProjects\JasperDemo\HelloReportWorld_1460420530440_343732.java:266: 错误:找不到符号 价值 = $F(PURCHASE_COST); //$JR_EXPR_ID=10$ ^ 符号:变量 PURCHASE_COST 位置:类 HelloReportWorld_1460420530440_343732 C:\Users\alejandro\Documents\NetBeansProjects\JasperDemo\HelloReportWorld_1460420530440_343732.java:329: 错误:找不到符号 价值 = $F(PRODUCT_ID); //$JR_EXPR_ID=8$ ^ 符号:变量 PRODUCT_ID 位置:类 HelloReportWorld_1460420530440_343732 C:\Users\alejandro\Documents\NetBeansProjects\JasperDemo\HelloReportWorld_1460420530440_343732.java:334: 错误:找不到符号 价值 = $F(描述); //$JR_EXPR_ID=9$ ^ 符号:变量描述位置:类 HelloReportWorld_1460420530440_343732 C:\Users\alejandro\Documents\NetBeansProjects\JasperDemo\HelloReportWorld_1460420530440_343732.java:339: 错误:找不到符号 价值 = $F(PURCHASE_COST); //$JR_EXPR_ID=10$ ^ 符号:变量 PURCHASE_COST 位置:类 HelloReportWorld_1460420530440_343732 9 个错误

【问题讨论】:

  • 你至少应该解释一下你认为错误来自哪里。

标签: java html report


【解决方案1】:

您必须输入: $P{reportTitle} 不是 $P(reportTitle)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-06
    • 2016-02-09
    • 1970-01-01
    相关资源
    最近更新 更多