Использование коллекций в качестве параметров в Jasper от Grails - PullRequest
1 голос
/ 05 сентября 2011

Я пытаюсь научиться запускать Jasper из приложения Grails с помощью плагина Jasper.На странице каталога плагинов [http://grails.org/plugin/jasper] есть довольно подробное руководство.Это должно показать вам, как расширить пример 'racetrack' для использования плагина jasper.Проблема, которую я нахожу, заключается в том, что так как «registrations.jrxml» не показан в учебном пособии и не поставляется с исходной загрузкой плагина - я не могу понять, как настроить файл jrxml для работыс данными, посылаемыми ему из Грааля.

Прямо сейчас контроллер моего приложения отправляет ArrayList из HashMaps обратно в представление, которое затем преобразуется в html-таблицы с использованием «g: each».Это не простое представление домена, HashMaps построены из нескольких различных источников данных.Мне нужно также экспортировать эти данные через Jasper в файл XLS.Прямо сейчас я могу отправить jrxml ArrayList в качестве параметра, но я не собираюсь связывать каждый элемент списка (строку) с деталью в jrxml.

Так что для простейшего случаяскажем, у меня есть контроллер, который предоставляет представление с ArrayList of Strings

def index = { 
        def people = ["Donald", "Richard", "Raymond", "Samir", "Cyrus"]

        [people: people, guy: "Frank"]
    }

и представление, которое передает ArrayList в Jasper в качестве параметра.

<g:jasperReport format="PDF" jasper="don2" name="Don Report">
    <input type="hidden" name="name" value="${guy}"/>
    <input type="hidden" name="list" value="${people}"/>
  </g:jasperReport>

Что мне нужносделать в jrxml, чтобы использовать ArrayList в качестве моего источника данных?

Дон

1 Ответ

1 голос
/ 05 сентября 2011

Вам нужно JRBeanCollectionDataSource. Создайте это в контроллере (или в вашем собственном теге). Вы не можете сделать это прямо в GSP.

...