私がやろうとしていることは、一見単純そうです。
サブレポート要素を含むマスターレポートがあります。サブレポートは、JRAbstractBeanDataSource
0〜n個のサブレポートのコレクションを含むから入力されます。
マスターレポートでは、サブレポートは次の場所にあります。
<subreportExpression class="java.lang.String"><![CDATA[$P{SUBREPORT_DIR} + $F{subReportFileName}]]></subreportExpression>
これは正常に機能し、SUBREPORT_DIRはパラメータとしてコードのデータソースに渡されます。
ただし、私がする必要があるのは、サブレポートのプロパティに基づいて、次のような別のレポート名を選択することです。
<subreportExpression class="java.lang.String"><![CDATA[$P{SUBREPORT_DIR} + "$F{subReportFileName}"]]></subreportExpression>
つまり、データソースのサブレポートデータのコレクション内の各アイテムで.jasper
ファイル名を指定できるようにします(つまり、使用するサブレポートを選択できるようにします)。
たぶん、これについて考えたりアプローチしたりするためのより良い方法があります。