Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

JasperReports: How to call a java bean method in report template?

I am passing a java bean collection into a jasper report. I have several fields for this java bean defined an they are display just fine in my report.

Im wondering if there is a way to call a method of a java bean that is being passed into this report???

E.g. an expression for a text field, something like....

{current java bean}.methodToCall()
like image 984
tinny Avatar asked Jul 10 '11 01:07

tinny


1 Answers

Using the keyword _THIS in a field name or description will make it map to the bean class itself. Using the fieldDescription tag is better as it allows you to do this with multiple beans.

For example:

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

Then you can call methods in an expression like this:

<textFieldExpression>$F{customBean}.someMethod()</textFieldExpression>
like image 63
GenericJon Avatar answered Oct 16 '22 15:10

GenericJon