Jasper Reports,在 bean 中传递列表/数组

发布于 2024-12-11 07:50:33 字数 344 浏览 0 评论 0原文

我必须生成一份报告,显示有关一个对象的信息(因此输入只有一个 bean)。

第一个问题是 - 这个 bean 应该包含子 bean 的列表(例如,评论,带有评论类型和评论日期)。所以我可以将它们传递给子报告。

第二个问题是 - 有一个由 4 个子 bean 组成的数组,其中包含很少的字段。我可以为每个子 bean 的属性(firstSubBeanName、secondSubBeanName...)创建一个单独的字段,但它很难看:(。理想情况下,应该有一种方法以这种方式访问​​这些 bean:

$F{test}[0].name

请帮忙。

I have to generate a report, that displays info about one object ( so the input is only one bean ).

The first problem is - this bean should contain lists of sub-beans( for example, comments, with comment type and comment date ). So I can pass them to a sub-report.

The second problem is - there is an array of 4 sub-beans, that contains few fields. I can create a separate field for each sub-bean's property ( firstSubBeanName, secondSubBeanName... ) , but it's ugly :(. Ideally, there should be a way to access these beans in a such way :

$F{test}[0].name

Please help.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

箹锭⒈辈孓 2024-12-18 07:50:33

如果您的列表有名称(即对象的属性),则只需将此属性作为子报表的数据源表达式传递即可

$F{subBeansList}

。子报表应该准备好接收此类数据。如果您使用的是 struts,您可能应该使用此类:

org.apache.struts2.views.jasperreports.ValueStackDataSource

作为要传递到子报表的列表字段的中介。

第二个问题,简单的方法是使用列表,因此可以使用这个表达式:

$F{test}.thelist.get(0)

If your list have a name (ie is a property of the object), you have just to pass as Data Source Expression for the subreport this property

$F{subBeansList}

The subreport should be ready to receive such kind of data. If you are using struts, it is possible you should use this class:

org.apache.struts2.views.jasperreports.ValueStackDataSource

as intermediary on your list field to be passed to the subreport.

The second question, the easy way is to use a list, so you can use this expression:

$F{test}.thelist.get(0)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文