2012-11-10 15 views
5

我有一個嵌入罐子中的jasper(主)報表。該報告來自java輸入流。 jasper報告由iReport 3.7.0如何將JasperReport子報表嵌入罐子中

在這份主報告中,有幾個子報告。目前,我必須使用

子報表表達式:$ P {} SUBREPORT_DIR + 「\\ SubReport.jasper」

表達類:在iReport的java.lang.String中

,使其工作。這意味着我將subReport.jasper存儲在SUBREPORT_DIR文件夾中。

我的問題是,如何將這些子報告嵌入到主報告中的jar中?什麼應該填寫「默認值表達式」? (如果需要的話)

最接近的問題,到目前爲止,我所看到的答案是這裏

How to load subreport resources with Jasper?

然而,答案是不夠的我要主報表編譯。有一個錯誤信息,說缺少子報表時,編譯(這就是爲什麼我認爲可能需要缺省的表達式?)

非常感謝您!

回答

5

例如: 我有報告和報表,位於一些* .jar文件。調用報表我設置報表表達

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

,並選擇報表表達式類java.io.InputStream

這是工作!

0

我在另外一個問題中描述的一個可能的解決方案在一個answer。問題並不完全相同,但解決方案也解決了這個問題。

該解決方案使用了春天,但春天更換特定部位(FileSystemResourceLoader)與Class.getResourceAsStream()不應該是太大的問題的。

相關問題