Изменение в основном отчете <subreportExpression><![CDATA["report1_subreport1.jasper"]]></subreportExpression>
вкл .:
<subreportExpression><![CDATA["secure/report1_subreport1.jasper"]]</subreportExpression>
Это означает, что основной отчет будет ссылаться на вложенный отчет, используя полный путь к пакету. И убедитесь, что у вас не установлен SUBREPORT_DIR
параметр.
Если это все еще не работает, то вы можете передать подотчет в основной отчет из Java, используя поток ввода:
InputStream subReport1 = getClass().getResourceAsStream("/secure/report1_subreport1.jasper");
parameters.put("SUBREPORT1", subReport1);
В основном отчете Джаспера вы будете использовать это выражение:
<subreportExpression class="java.io.InputStream"><![CDATA[$P{SUBREPORT1}]]></subreportExpression>
И не забудьте объявить параметр SUBREPORT1
для основного отчета:
<parameter name="SUBREPORT1" class="java.io.InputStream" isForPrompting="false">
<defaultValueExpression><![CDATA[]]></defaultValueExpression>
</parameter>