2011-07-10 51 views
10

我將java bean集合傳遞給碧玉報告。我定義了這個java bean的幾個字段,它們在我的報告中顯示得很好。JasperReports:如何在報告模板中調用java bean方法?

我想知道是否有一種方法可以調用正在傳遞給此報表的Java bean的方法?

E.g.爲文本字段的字段名稱或說明中使用關鍵字_THIS的表達,像....

{current java bean}.methodToCall() 

回答

15

將其映射到bean類本身。使用fieldDescription標籤更好,因爲它允許您使用多個bean來執行此操作。

例如:

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

然後,你可以調用像這樣的表達方法:在不使用``

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

是可以做到的?我需要調用一些方法,但沒有報告輸出。現在我用這種方法返回「」,但它並不優雅。 – marioosh

+0

@marioosh你應該可以在任何表達式中調用它,所以如果你沒有內容,你可以嘗試在報告中創建一個虛擬變量,並使用'initialValueExpression'來進行調用。 – GenericJon