我必须生成一份报告,显示有关一个对象的信息(因此输入只有一个 bean)。
第一个问题是 - 这个 bean 应该包含子 bean 的列表(例如,带有评论类型和评论日期的评论)。这样我就可以将它们传递给子报告。
第二个问题是 - 有一个包含 4 个子 bean 的数组,其中包含很少的字段。我可以为每个子 bean 的属性(firstSubBeanName、secondSubBeanName...)创建一个单独的字段,但它很难看:(。理想情况下,应该有一种方法以这种方式访问这些 bean:
$F{test}[0].name
请帮忙。
最佳答案
如果您的列表有名称(即对象的属性),则只需将此属性作为子报表的数据源表达式传递
$F{subBeansList}
子报表应该准备好接收此类数据。如果您使用 struts,则可能应该使用此类:
org.apache.struts2.views.jasperreports.ValueStackDataSource
作为要传递到子报表的列表字段的中介。
第二个问题,简单的方法是使用列表,所以可以使用这个表达式:
$F{test}.thelist.get(0)
关于java - Jasper Reports,在 bean 中传递列表/数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7865291/