It's drives me crazy.. Last hour I am trying to figure out why my report stopped to worked right after I added a subreport to it.. I already checked and tried all similar issues here, here and here. Without success.. Subreport is in the same directory for sure.. The definition looks like:
<subreport isUsingCache="false">
<reportElement uuid="db816b3c-a13d-440f-a6a2-f899762e61e4" x="0" y="89" width="555" height="100"/>
<subreportParameter name="footerAddress">
<subreportParameterExpression><![CDATA[$P{footerAddress}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="footerManager">
<subreportParameterExpression><![CDATA[$P{footerManager}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="footerContact">
<subreportParameterExpression><![CDATA[$P{footerContact}]]></subreportParameterExpression>
</subreportParameter>
<subreportParameter name="footerBank">
<subreportParameterExpression><![CDATA[$P{footerBank}]]></subreportParameterExpression>
</subreportParameter>
<subreportExpression class="net.sf.jasperreports.engine.JasperReport"><![CDATA[$P{SUBREPORT_DIR}]]></subreportExpression>
</subreport>
Where $P{SUBREPORT_DIR} is "/valid/path/sub.report.jasper"
And I still getting an error: Resource not found at /valid/path/sub.report.jasper
WHY??
A subreport is a report included inside another report. This allows the creation of very complex layouts with different portions of a single document filled using different data sources and reports.
At JasperReports levelIn <jasperserver-root>/WEB-IN/classes you can find the file jasperreports. properties.
In first message author says:
Where $P{SUBREPORT_DIR}
is "/valid/path/sub.report.jasper
"
$P{SUBREPORT_DIR}
is a directory, but not a filename. It is the first error.
The second: sometimes jasper can't find subreport, even the path is correct.
The way for solving this problem:
$P{SUBREPORT_DIR}
into main report (In this case: "/valid/path/
"), put this parameter into a HashMap<String, Object>
- standard way pass parameters into jasper.$P{SUBREPORT_DIR}
from main report into subreport as parameter: $P{SUBREPORT_DIR}
main report -> $P{SUBREPORT_DIR}
of subreport (this way used when exist subsubreport, which calling from subreport)$P{SUBREPORT_DIR}
+ "sub.report.jasper
"I had this issue earlier.
My approach was - i was sending the absolute folder in a parameter say folder_path .And then in the sub-report expression i was usingnew File(($P{folder_path} + "*.jasper" )
.
this *.jasper file can be replace by "\\inner_folder\\*.jasper"
.
And this worked perfectly
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With