1
Jasper Report和XML數據源有一個奇怪的問題。我有兩個報告在iReport中很好用(預覽顯示所有正確的數據),但是當我使用JasperRunManager.runReportToPdfFile運行報告時,這些值顯示爲空。有趣的是,兩個報告中的一個報告有子報告,而在子報告中,一切正常顯示!生成報告時使用NULL值(使用Jasper Report)
我使用XPath像這樣的查詢:
<queryString language="xPath">
<![CDATA[/rosterArray/list/studentRoster]]>
</queryString>
我只有一個字段:
<field name="studentName" class="java.lang.String">
<fieldDescription><![CDATA[studentName]]></fieldDescription>
</field>
並顯示:
<detail>
<band height="30" splitType="Stretch">
<textField>
<reportElement x="10" y="6" width="188" height="20"/>
<textElement/>
<textFieldExpression class="java.lang.String"><![CDATA[$F{studentName}]]></textFieldExpression>
</textField>
</band>
</detail>
XML是什麼樣子這個:
<rosterArray>
<list>
<studentRoster>
<studentName>Robert, Pascal</studentName>
</studentRoster>
</list>
</rosterArray>
和代碼來創建生成的報告:
File xmlFileName = new File(xmlDSFileName());
JRXmlDataSource xmlDS = new JRXmlDataSource(xmlFileName);
xmlDS.setDatePattern("yyyy-mm-dd HH:mm:ss.S z");
File destFile = File.createTempFile(compiledReportName, ".pdf");
String inputFileName = PathUtilities.pathToReport(compiledReportName);
JasperRunManager.runReportToPdfFile(inputFileName, destFile.getPath(), parameters, dataSource);