2011-07-10 13 views
10

ジャスパーレポートにJava Beanコレクションを渡しています。私は、このJava Beanのいくつかのフィールドを定義しています。JasperReports:レポートテンプレートでJava Beanメソッドを呼び出す方法

このレポートに渡されているJava Beanのメソッドを呼び出す方法があるのだろうか?

など。フィールド名や説明にキーワード_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

関連する問題