2.

【JasperReports】jar内のサブレポートを読み込む方法

ページの作成
テンプレートを更新

ページの作成

親となるページを選択してください。

ページは必ず何かしらの親ページに紐づきます。
親ページに紐づくページを子ページといいます。
例: 親=スポーツ, 子1=サッカー, 子2=野球

子ページを親ページとして更に子ページを作成することも可能です。
例: 親=サッカー, 子=サッカーのルール

親ページはいつでも変更することが可能なのでとりあえず作ってみましょう!

開発環境では普通にパス指定すればjasperファイルなどのリソースファイルは読み込めるが、本番環境にデプロイする際にjarにするとファイルが読み込めなくなる。

従って、リソースファイルを指定する際は通常のパスではなくURLを指定する必要がある

メインレポートだろうがサブレポートだろうがURLを渡す。

 

Java側でURL取得

jasper内でURLを取得するよりjava側で取得してパラメータとして渡してやるのがおすすめ。(jasper内でできる方法があればそちらでもよい)

※下記の例では「src/main/resources/jasper」配下にjasperが格納されている前提で、jasperディレクトリまでのURLを取得している。

String JASPER_RESOURCE_URL = this.getClass().getResource("/jasper").toString(); 

上記で取得したURLをjasper側にパラメータとして渡す。

 

サブレポートの読み込み

パラメータ(jasperResourceUrl)として受け取ったjasperディレクトリまでのURLとファイル名を結合してサブレポートとして読み込む。

<subreportExpression><![CDATA[$P{jasperResourceUrl} + "sub_report.jasper"]]></subreportExpression>

 

子ページ
子ページはありません
同階層のページ
  1. jar内のjrxml/jasperファイルを読み込む方法
  2. jar内のサブレポートを読み込む方法

最近コメントのあったページ

最近の質問

コメント一覧

コメントがありません

ログインしなければコメント投稿はできません。