1

我正在尝试学习如何使用 jasper 插件从 grails 应用程序中运行 Jasper。在插件目录页面 [ http://grails.org/plugin/jasper ] 上有一个相当深入的教程。这应该向您展示如何扩展“赛道”示例以使用 jasper 插件。我发现的问题是,由于教程中没有显示“registrations.jrxml”,也没有附带插件的源下载——我不可能弄清楚如何设置 jrxml 文件才能工作数据从 grails 发送给它。

现在,我的应用程序控制器正在将 HashMaps 的 ArrayList 发送回视图,然后使用“g:each”将其转换为 html 表。它不是域的简单表示,HashMaps 是由几个不同的数据源构造的。我还需要通过 Jasper 将这些数据导出到 XLS 文件中。现在我可以将 ArrayList 作为参数发送给 jrxml,但是在将列表(行)的每个成员与 jrxml 中的详细信息相关联时,我无处可去。

因此,对于最简单的情况,假设我有一个控制器,它提供一个带有字符串 ArrayList 的视图

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 作为我的数据源?

大学教师

4

1 回答 1

1

你需要JRBeanCollectionDataSource. 在控制器(或您的自定义标签)中构建它。您不能直接在 gsp 中执行此操作。

于 2011-09-04T20:51:26.307 回答