2.

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

編集

開発環境では普通にパス指定すれば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>

 

編集
Post Share
子ページ

子ページはありません

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