gpt4 book ai didi

java - JasperReport : net. sf.jasperreports.engine.fill.JRExpressionEvalException:计算表达式时出错:

转载 作者:太空宇宙 更新时间:2023-11-04 15:09:34 25 4
gpt4 key购买 nike

我正在使用 Java 生成 jasper 报告。它有一个学生 bean,其中包含 College_name 和学生信息列表(第二个 bean)。Student_info包含student_Name和地址。
我已将 College_Name 和 Student_info bean 列表设置为 Student bean。

当我仅将student_info(第二个bean)对象(不是列表)设置为Student bean时,我得到了值,但是当我传递Student_info bean的列表时,得到了错误无效表达式。我不知道如何获取 Student_info 列表及其值,例如 Student_Name 和地址。

它给了我以下错误:

net.sf.jasperreports.engine.fill.JRExpressionEvalException: Error evaluating expression : 
aa DEBUG net.sf.jasperreports.engine.util.DeduplicableRegistry: Found existing instance net.sf.jasperreports.engine.fill.JRTemplateText@526b3f for object net.sf.jasperreports.engine.fill.JRTemplateText@2b5c2d
Source text : $F{Student_infoDTOList}.getName()
at net.sf.jasperreports.engine.fill.JREvaluator.evaluate(JREvaluator.java:244)
at net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:591)
aa DEBUG net.sf.jasperreports.engine.util.DeduplicableRegistry: Added object net.sf.jasperreports.engine.fill.JRTemplateText@b0c9f0
at net.sf.jasperreports.engine.fill.JRCalculator.evaluate(JRCalculator.java:559)
at net.sf.jasperreports.engine.fill.JRFillElement.evaluateExpression(JRFillElement.java:1016)
at net.sf.jasperreports.engine.fill.JRFillTextField.evaluateText(JRFillTextField.java:504)
at net.sf.jasperreports.engine.fill.JRFillTextField.evaluate(JRFillTextField.java:488)
aa DEBUG net.sf.jasperreports.engine.fill.JRFillTextField: created net.sf.jasperreports.engine.fill.JRTemplateText@b0c9f0 for (null, null)
at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:259)
at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:456)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillColumnBand(JRVerticalFiller.java:2057)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillDetail(JRVerticalFiller.java:778)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:288)
at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:151)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:932)
at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:864)
at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:114)
at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:653)
at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:969)

我的 JRXml 文件是:

<textField isBlankWhenNull="false">
<reportElement key="textField" x="42" y="0" width="112" height="13" uuid="1e3a7dff-583c-4322-88cb-c2c0f1ea7569"/>
<textElement>
<font size="10"/>
</textElement>
<textFieldExpression><![CDATA[$F{Student_infoDTOList}.getName()]]></textFieldExpression>
</textField>

最佳答案

您应该遵循此步骤。

  • 在详细信息区域中定义文本字段。
  • 添加一个新字段,其中包含列表中对象的属性名称。例如学生姓名、地址。
  • 右键单击文本字段,然后单击编辑表达式。将字段名称设置为student_name。
  • 现在运行您的应用程序。

关于java - JasperReport : net. sf.jasperreports.engine.fill.JRExpressionEvalException:计算表达式时出错:,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21521479/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com