はじめに
SpringBootに依存した話ではないですが、JasperReportsのデザイナ環境で親レポートからサブレポートへのパラメータ渡しを正しく構成し、デザイナ環境上で親レポートをプレビューすると、正しくパラメータの内容が表示されているのに、SpringBootの実行環境で生成されたPDFでは表示されない現象についての備忘録です。
この記事内容の作業目的
小一時間浪費したので備忘録。「When No Data Type」プロパティに言及した日本語情報はいくつかありましたが、プレビューで出力されない場合の説明だったので、プレビューで出力さてるのにPDFに出力されない原因としてこれが影響していることを特定できなかった。
この記事内容の作業環境
Windows10 21H2
VSCode(Visual Studo Code)
java 11
SpringBoot
JasperReports 6.12
jusperStudio 6.12
この記事内容の保証
※この記事には設定的な情報が含まれます。あらゆる条件下でも書かれた内容の妥当性を保証するものではありません。
設定のポイント
サブレポート側のプロパティにも「When No Data Type」があり、これが「No Data Section」の場合は、jusperStudioの親レポートのプレビューで、サブレポート側のテキストフィールドに親から渡されたパラメータ値は表示されますが、javaの実行環境(今回はVSCode上のSpringBoot)では表示されませんでした。ログより親レポートへのjasonパラメータは正常を確認。
これが「All Sections No Detail」の場合は表示されました。
「No Data Section」は親からのパラメータを表示用というよりはサブリポート側のクエリーのパラメータとして使っていた設定状態で、この設定でもクエリー結果のフィールドはテキストフィールドに正常表示されていたので看過していたようです。
参考リンク