JasperReport 要求(默认情况下)图像位于“WEB-INF/classes/”中。我想在 PDF 和普通 JSP 页面之间共享图像。我不想让垃圾图像文件弄乱类路径。如何强制 JR 使用不同的图片位置?
最佳答案
在我的书中,Indispensable ,我建议创建以下报告参数:
- ROOT_DIR --
"/reports/"
- IMAGE_DIR --
$P{ROOT_DIR} + "图片/"
- STYLE_DIR --
$P{ROOT_DIR} + "样式/"
- SUBREPORT_DIR --
$P{ROOT_DIR} + "subreports/"
- COMMON_DIR --
$P{SUBREPORT_DIR} + "common/"
这允许图像目录相对于 ROOT_DIR
路径。它还允许您动态更改 ROOT_DIR
。参数必须按照它们的相对顺序声明。
在您的情况下,使用绝对路径:
- ROOT_DIR --
"/home/user/"
- IMAGE_DIR --
$P{ROOT_DIR} + "图片/"
请注意,操作系统、目录结构、环境(例如,从 JasperReports 和 JSF 迁移到 JasperReports Server)等之间的更改无需修改报表即可完成。 (好吧,JasperReports Server 需要进行一些修改。)
关于java - Spring JasperReports 图像位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6752630/