JasperReports imageExpression: где хранить изображения?

Имеется проект на Spring Framework, который использует JasperReports для генерации отчётов. Допустим, что в некоторые отчёты нужно вставить картинки. Вопрос: Где хранить изображения?

Есть несколько способов:

  • Складывать картинки где-нибудь в src/main/webapp/resources, а затем в коде получать абсолютный путь к ним с помощью кода вида: servletContext.getResource("/resources/images/myimg1.jpg"),  где servletContext  — это экземпляр класса javax.servlet.ServletContext. В imageExpression  в этом случае будет что-то вида <imageExpression><![CDATA[$P{IMG_DIR}]]></imageExpression> , где IMG_DIR — это параметр шаблона, в который будет передаваться путь к изображению.
  • Складывать картинки в какой-нибудь внешний каталог и указывать абсолютный путь к нему.
  • Складывать картинки в одной из подкаталогов src/main/resources  или src/main/webapp/WEB-INF/classes, а в шаблонах jrxml указывать в imageExpression  путь относительно этих каталогов. Например, <imageExpression><![CDATA["report/images/logo-report.jpg"]]></imageExpression> указывает на src/main/resources/report/images/logo-report.jpg  или src/main/webapp/WEB-INF/classes/report/images/logo-report.jpg  соответственно.

Вы можете выбрать любой из описанных выше способов

Обратите внимание, в статье «Java. JasperReports. Генерация HTML отчёта с картинками и диаграммами» описано, как генерировать HTML-отчёт с включением картинок.


Поделиться:
1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Загрузка...

Один комментарий к “JasperReports imageExpression: где хранить изображения?”

Добавить комментарий

Ваш e-mail не будет опубликован.

*