Java JasperReport:net.sf.jasperreports.engine.fill.jrepressionevalexception:计算表达式时出错:

Java JasperReport:net.sf.jasperreports.engine.fill.jrepressionevalexception:计算表达式时出错:,java,jasper-reports,Java,Jasper Reports,我正在用Java生成jasper报告。 它有一个Student bean,其中包含college\u名称和Student\u infosecond bean的列表。 学生信息包含学生姓名和地址。 我已经将学院名称和学生信息bean列表设置为学生bean 当我仅将student_infosecond bean对象not List设置为student bean时,我得到了值,但当我传递student_InfoBean列表时,得到了一个错误无效表达式。 我不知道如何获取学生信息列表,以及它的值,如学生

我正在用Java生成jasper报告。 它有一个Student bean,其中包含college\u名称和Student\u infosecond bean的列表。 学生信息包含学生姓名和地址。 我已经将学院名称和学生信息bean列表设置为学生bean

当我仅将student_infosecond bean对象not List设置为student bean时,我得到了值,但当我传递student_InfoBean列表时,得到了一个错误无效表达式。 我不知道如何获取学生信息列表,以及它的值,如学生姓名和地址

它给了我以下错误:

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>

你应该遵循这个步骤

在“详细信息”栏中定义文本字段。 添加一个新字段,其名称为列表中对象的属性。e、 g.学生姓名、地址。 在文本字段上单击鼠标右键,然后单击“编辑表达式”。将字段名称设置为学生名称。 现在运行您的应用程序。
发布你的jrxml文件以获得更多的澄清。我已经尝试过了,但它给了我错误,当我提供student_名称作为字段名时,它无法读取内部Bean,并且给出错误无法从外部Bean读取值,因为student_名称是内部Bean的属性,那么请告诉我如何读取内部Bean的值