【问题标题】:JasperReports: How to call a java bean method in report template?JasperReports:如何在报告模板中调用 java bean 方法?
【发布时间】:2011-07-10 01:18:04
【问题描述】:

我正在将一个 java bean 集合传递给一个 jasper 报告。我为这个 java bean 定义了几个字段,它们在我的报告中显示得很好。

我想知道是否有一种方法可以调用正在传递到此报告中的 java bean 的方法???

例如文本字段的表达式,例如....

{current java bean}.methodToCall()

【问题讨论】:

    标签: java jasper-reports javabeans


    【解决方案1】:

    在字段名称或描述中使用关键字_THIS 将使其映射到bean 类本身。使用 fieldDescription 标记会更好,因为它允许您对多个 bean 执行此操作。

    例如:

    <field name="customBean" class="com.example.customBean">
        <fieldDescription>_THIS</fieldDescription>
    </field>
    

    然后你可以在这样的表达式中调用方法:

    <textFieldExpression>$F{customBean}.someMethod()</textFieldExpression>
    

    【讨论】:

    • 不使用&lt;textField/&gt; 是否可以做到这一点?我需要调用一些方法,但报告中没有输出。现在我在那个方法中返回“”,但它并不优雅。
    • @marioosh 您应该可以在任何表达式中调用它,因此如果您没有内容,您可以尝试在报告中创建一个虚拟变量并使用initialValueExpression 进行调用。跨度>
    • @GenericJon "com.example.customBean" jasper 报告中定义的此类在哪里。我正在尝试这个,但我的课程没有被模板找到。我们需要在某个地方导入这个类吗?如何?我用的是jasper 6.13版本
    • @Bugs-notabug 这是一个例子。将其替换为您要引用的 bean。
    猜你喜欢
    • 2013-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-14
    • 1970-01-01
    • 1970-01-01
    • 2013-08-24
    • 1970-01-01
    相关资源
    最近更新 更多