Почему Jasper Reports показывает пустой отчет на сервере, но генерирует правильно в jasper studio - PullRequest
0 голосов
/ 17 октября 2018

Я использую Jasper Studio 6.6.0 и Jasper server 7.1.

Я создал простой отчет с изображением по указанному URL.

Он правильно генерируется в Jasper Studio, нона сервере он отображается пустым.

Пожалуйста, смотрите прикрепленные изображения:

Снимок экрана сервера server screenshot Снимок экрана Jasper jaspersoft screenshot

Ответы [ 2 ]

0 голосов
/ 08 июня 2019

Лучший способ не иметь пустую страницу, когда источник данных не предоставлен, - обмануть Джаспера, думая, что источник данных:

1) Определить адаптер данных (простой XML-файл) и поместите его в папку отчетов:

<?xml version="1.0" encoding="UTF-8" ?><emptyDataAdapter class="net.sf.jasperreports.data.empty.EmptyDataAdapterImpl"><name>Data Adapter fake</name><recordCount>1</recordCount></emptyDataAdapter>

2) Свяжите его с основным отчетом:

<jasperReport xmlns="http://jasperreports.sourceforge.net/jasperreports" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jasperreports.sourceforge.net/jasperreports http://jasperreports.sourceforge.net/xsd/jasperreport.xsd" name="repor" language="javascript" pageWidth="612" pageHeight="792" whenNoDataType="NoDataSection" columnWidth="555" leftMargin="20" rightMargin="20" topMargin="20" bottomMargin="20" isFloatColumnFooter="true" uuid="c0eee90e-1b1a-4f34-ad99-1112847752de">
<property name="net.sf.jasperreports.data.adapter" value="EmptyDataAdapter.xml"/>

префикс «repo:» к значению свойства для адаптера данных, если xml развернут на сервере jasper.

Атрибут "whenNoDataType" будет игнорироваться.

Другие подробности здесь .

0 голосов
/ 22 октября 2018

Если вы хотите показать что-то в JasperReport без источника данных или с пустым источником данных, тогда у вас есть две опции:

1) Установите Когда нет типа данных *Свойство 1006 * в Параметр «Все детали нет детализации» в Jasper Studio: When No Data Type

В JRXML это можно сделать, установив атрибут whenNoDataType="AllSectionsNoDetail" в корневом каталоге.<jasperReport> element.

2) Или вы можете перемещать контент, который хотите показать, когда нет данных, в Нет данных диапазон отчета: No Data Band

В JRXML это можно сделать, добавив следующее:

<noData>
    <band height="110">
        <image>
            <reportElement x="0" y="0" width="240" height="110" uuid="d4b9e59b-896e-4881-92a2-c6707c975312"/>
            <imageExpression><![CDATA["https://my.image.url/getImage?name=penguin"]]></imageExpression>
        </image>
    </band>
</noData>

JasperReport отображает пустую страницу, когда по умолчанию нет данных и JasperServerпоказывает Отчет пуст , поэтому выберите из указанных выше вариантов тот, который вы предпочитаете, чтобы иметь возможность показать нужное изображение.

...