読者です 読者をやめる 読者になる 読者になる

jasperreports で、Date型オブジェクトを出力

jasperreports のパラメータの class java.util.Date にして、 Date オブジェクトを渡すと、

  Thu Sep 18

と出力されてしまう。

任意書式で出す場合、jasperreports のパラメータの class java.lang.String にして、
Javajasperrport呼び出し側で、SimpleDateFormat#format(date) で変換するのが自然とは思うが、、
敢えて、 jasperreports のパラメータの class java.util.Date で、
Date オブジェクトを渡して、jasperreports の方で書式フォーマット変換する場合、
jrxml の TextField は、以下のようにする。

<textFieldExpression class="java.lang.String">
<![CDATA[new java.text.SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format($P{nowdate})]]>
</textFieldExpression>


'nowdate' が、jasperreports に渡す時の Parameter名である。