SAStrutsのファンクションの改良
1.0.1でSAStrutsのファンクションに改良を入れます。
最初は、f:date()。日付のフォーマットは、fmt:formatDateタグを使うのが基本ですが、fmt:formatDateタグは、値がjava.util.Dateでなければフォーマットできません。Strutsでは、入力値を受け取るためには、文字列でプロパティの型を定義するのが普通なので、標準だと、日付用の入力値をフォーマットすることができません。
そこで、日付用の文字列で定義された入力値をDateに変換するのが、f:date()です。基本的な使い方は次のとおりです。
同様の理由で、f:number()も用意しました。
<fmt:formatDate value="${f:date(hireDate, 'yyyyMMdd')}"
pattern="yyyy/MM/dd"/>
f:h()は、文字列だけでなく、Objectを受け取って、配列の場合は、Arrays.toString()を使って文字列に変換してから、HTMLエスケープするようにしました。配列以外の場合は、toString()の結果をHTMLエスケープしています。
<fmt:formatNumber value="${f:number(salary, '####')}"
pattern="#,###"/>
後、テキストエリアに入力した文字列を表示するときに、改行を<br />に変換するf:br()のファンクションも追加しました。