Как показать изображение в Jasper Reports с помощью плагина Struts - PullRequest
1 голос
/ 07 марта 2012

Я использую плагин Struts 2.2.1 и Jasper 2.2.1 с Jasper 4.5.0. и запуск моего веб-приложения на jboss 5.1

Я пытаюсь показать свой logo.png в заголовке отчета, но не могу его показать.

Я пробовал различные решения, размещенные в Интернете. Но, похоже, он не работает.

В файле jrxml у меня есть:

   <imageExpression class="java.lang.String"><![CDATA[$P{LOGO_OPEN}"]]></imageExpression>

И в моем классе действий у меня есть:

final String path ServletActionContext.getServletContext().getRealPath("/");
final String imageUrl = path + "images/graphics/header.png";
reportParams.put("LOGO_OPEN", imageUrl);

Файл Struts.xml имеет в своем действии следующие параметры:

<result name="success" type="jasper">
    <param name="location">/jasper/itineraryDetails.jasper</param>
    <param name="dataSource">itineraryDetailsList</param>
    <param name="format">PDF</param>
    <param name="reportParameters">reportParams</param>
    <param name="contentDisposition">attachment;filename="tripDetails.pdf"</param>
  </result>

Заранее спасибо

1 Ответ

0 голосов
/ 12 марта 2012

То, что вы можете попытаться сделать, это вместо того, чтобы передать строку в путь к изображению, это передать фактическое изображение.Попробуйте изменить свой параметр на:

<parameter name="LOGO_OPEN" class="java.lang.Object"/>

и выражение вашего изображения на:

<imageExpression><![CDATA[$P{LOGO_OPEN}]]></imageExpression>

и обновите код в вашем классе действий:

final String path ServletActionContext.getServletContext().getRealPath("/");
final String imageUrl = path + "images/graphics/header.png";
ImageIcon image = new ImageIcon(imageUrl);
reportParams.put("LOGO_OPEN", image.getImage());
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...