java - Spring JasperReports 图像位置

标签 java image spring properties jasper-reports

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/

相关文章:

java - 了解 spring 4 (spring-context) maven 依赖

java - 使用 Jolt 重新设置 JSON 对象的父级

java - 在数组列表中存储二叉搜索树

java - 如何将现有的Java程序转移到Android? (要导入什么)

java - Gradle,并行任务执行

spring - ActiveMQ Failover transport + Spring JmsTemplate 常量重连

java - Watir 接连处理多个弹出窗口

image - Scala 检测 Array[Byte] 图像的 mimetype

image - 以编程方式在图像中加载纹理并为图像设置边框 Unity

允许图像双线性变换的Java库