JSTLとEL式で日付フォーマット

以下のFormクラスがあるとします

public class TestForm {
    // 開始日(yyyyMMdd)
    public String startDate;
}

上記Formクラスには、開始日として、yyyyMMddのフォーマットで値が格納されます。
これを、JSPでyyyy年M月d日と表示したい場合・・・・。

日付のフォーマットは、fmt:formatDateを使用して行えます。
・・・・・が、fmt:formatDateは対象がDate型でなければいけません。

そこで、以下のように記述します。


${f:date(対象プロパティ, フォーマット)}で対象のプロパティをDate型に直せます。
その時に対象プロパティのフォーマットを第2引数に渡します。

あとはfmt:formatDateのJSTLを使い、フォーマット完了。
簡単です。