コンバート
- フォーマットを指定して文字列と数値を相互変換するには
- フォーマットを指定して文字列と日時を相互変換するには
-
改行文字を
<br>
要素に変換してテキストエリアに表示するには - 特定のサブミットボタンが押されたときだけコンバートするには
フォーマットを指定して文字列と数値を相互変換するには
ページクラスのプロパティに以下のコンバータ (括弧内はTigerアノテーションの名前)
のいずれかを指定し,
pattern
プロパティでフォーマットを指定します.
TNumberConverter (@NumberConverter)
- 文字列型と,プリミティブ型またはラッパー型の数値型を相互に変換します.
TBigDecimalConverter (@BigDecimalConverter)
- 文字列型と
java.math.BigDecimal
を相互に変換します.フォーマットの他,scale
プロパティで精度を,roundingMode
プロパティで丸めモードを指定することもできます.
例:ページクラスのプロパティ (FooPage.java)
Tigerアノテーション
@BigDecimalConverter(pattern = "#,##0.00") public BigDecimal exchangeRate;
定数アノテーション
public static final String exchangeRate_TBigDecimalConverter = "pattern='#,##0.00'"; public BigDecimal exchangeRate;
レンダリング時,
exchangeRate
はカンマ区切り・小数点以下2桁で表示されます.
ポストバック 時,入力された文字列がパターンにマッチしなければバリデーションでエラーとなります.
フォーマットを指定して文字列と日時を相互変換するには
ページクラスのプロパティに以下のコンバータ (括弧内はTigerアノテーションの名前)
のいずれかを指定し,
pattern
プロパティでフォーマットを指定します.
TDateTimeConverter (@DateTimeConverter)
-
文字列型と
java.util.Date
を相互に変換します. 変換結果のjava.util.Date
をjava.util.Calendar
やjava.sql.Date,java.sql.Time,java.sql.Timestamp
型のプロパティに設定する事ができます. TTimestampConverter (@TimestampConverter)
-
文字列型と
java.sql.Timestamp
を相互に変換します.
例:ページクラスのプロパティ (FooPage.java)
Tigerアノテーション
@DateTimeConverter(pattern = "yyyy/MM/dd") public Date date;
定数アノテーション
public static final String date_TDateTimeConverter = "pattern='yyyy/MM/dd'"; public Date date;
レンダリング時,
date
はスラッシュ区切りで表示されます.
ポストバック 時,入力された文字列がパターンにマッチしなければバリデーションでエラーとなります.
改行文字を <br> 要素に変換してテキストエリアに表示するには
<textare>
要素の
id
と同じ名前のプロパティに,
textareaSeparatorCharacterConverter
(@TextareaSeparatorCharacterConverter)
コンバータを指定します (括弧内はTigerアノテーションの名前).
textareaSeparatorCharacterConverter
コンバータは,改行文字を
<br>
要素に置換する前に
'<','>','&'
等をエスケープするため, テンプレートHTMLでは
<textare>
要素の
te:escape
属性に
false
を指定する必要があります.
例:テンプレートHTML (foo.html)
<textarea id="comments" te:escape="false">dummy</textarea>
例:ページクラスのプロパティ (FooPage.java)
Tigerアノテーション
@TextareaSeparatorCharacterConverter public String comments;
定数アノテーション
public static final String comments_textareaSeparatorCharacterConverter = ""; public String comments;
レンダリング時,
comments
プロパティの値に含まれる改行文字 (
"\r\n","\r","\n"
) は
<br>
要素に置換されてレンダリングされます.
特定のサブミットボタンが押されたときだけコンバートするには
アノテーションの
target
属性でチェック対象となるサブミットボタンの
id
属性の値を指定します.複数の値をカンマ (
','
) 区切りで列挙することができます.
target
で指定されなかったサブミットボタンが押された場合,
画面で入力された値はページクラスのプロパティに設定されません.
例:ページクラスのプロパティ (FooPage.java)
Tigerアノテーション
@TBigDecimalConverter(pattern = "#,##0.00", target="doExchange") public BigDecimal exchangeRate;
定数アノテーション
public static final String exchangeRate_TBigDecimalConverter = "pattern='#,##0.00', target='doExchange'"; public BigDecimal exchangeRate;
ポストバック
時,
doExchange
ボタンが押されたときだけ入力値が
BigDecimal
に変換され,
exchangeRate
プロパティに設定されます.