5

瓶にジャスパー(マスター)レポートを埋め込んでいます。レポートは、Java入力ストリームから取得されます。ジャスパーレポートはiReport3.7.0によって作成されます

このマスターレポートには、いくつかのサブレポートがあります。現時点では使用する必要があります

サブレポート式:$ P {SUBREPORT_DIR} + "\\ SubReport.jasper"

式クラス:java.lang.String

それを機能させるためにiReportで。これは、subReport.jasperをSUBREPORT_DIRフォルダーに保存することを意味します。

私の質問は、これらのサブレポートをマスターレポートのようにjarファイルに埋め込む方法です。そして、「デフォルト値の式」に何を記入する必要がありますか?(必要な場合)

私が今まで見た中で最も近い質問と答えはここにあります

Jasperでサブレポートリソースをロードする方法は?

しかし、マスターレポートのコンパイルには答えが十分ではありません。コンパイル時にサブレポートが欠落しているというエラーメッセージが表示されます(これが、デフォルト値の式が必要になる可能性がある理由です)。

どうもありがとうございます!

4

2 に答える 2

5

たとえば、*.jar ファイルにあるレポートとサブレポートがあります。サブレポートを呼び出すには、サブレポートの式を設定します

getClass().getResource("/path/to/my/report/in/a/jar/subreport.jasper").openStream()

サブレポート式クラスを選択しますjava.io.InputStream

それは働いています!

于 2012-12-14T10:42:59.950 に答える
0

別の質問の回答で、考えられる解決策の 1 つを説明しました。質問は同一ではありませんが、解決策はこの問題も解決します。

その解決策はSpringを使用していますが、Spring固有の部分(FileSystemResourceLoader)を置き換える Class.getResourceAsStream()ことはそれほど大きな問題ではありません。

于 2012-11-12T07:21:28.713 に答える