TypeConverter

TypeがCLASSのコンバーター

TypeがCLASSの場合がデフォルトなので、Typeは省略できる。 Annotation自体はModelDrivenの場合はModelの当該プロパティに書いた。 keyをプロパティ名にする必要があるようだ。 @TypeConversion(key="custom", converter = "tutorial.MyCustomTypeConverter"…

@TypeConversionのパラメータ

TypeConversionのパラメータは次のものが指定できる。 パラメータ 必須 デフォルト 備考 key - プロパティ名/キー名 type - ConversionType.CLASS APPLICATION/CLASS rule - ConversionRule.PROPERTY PROPERTY/COLLECTION/MAP/KEY/KEY_PROPERTY/ELEMENT/CREA…

ActionでのTypeConversion

AnnotationでTypeConverterを利用する場合 @TypeConversion を ModelDriven の getModel または、プロパティのSetメソッドで指定する。TypeConversionには type オプションがあり、 type=ConversionType.APPLICATION と type=ConversionType.CLASS が指定で…

Struts2へのTypeConverterの登録

グローバルな型変換の登録は xwork-conversion.properties に次のように書くことで認識される。CustomTypeのコンバーターが MyCustomTypeConverter の場合は tutorial.CustomType=tutorial.MyCustomTypeConverterとなる。[変換対象の型]=[コンバーター]これ…

Struts2のカスタムタイプコンバーター

カスタムタイプコンバーターは与えられた文字列の長さを保持するカスタム型への変換とすると次のようになる package tutorial; import java.util.Map; import org.apache.struts2.util.StrutsTypeConverter; public class MyCustomTypeConverter extends Str…

配列のプロパティ

カスタム変換のプロパティが配列の場合、配列の要素分変換が呼び出されるようになっている。

カスタムコンバーターの引数

Struts2のカスタムコンバーターでは次のメソッドを用意する必要があるが、 public Object convertFromString(Map arg0, String[] arg1, Class arg2); こちらの arg1 の配列(String[]) の引数がどういう内容で呼び出されるのかは、プログラムで使用されている…

Struts2のTypeConverterを書く

Struts2でプロパティで標準型以外を使用したい場合、カスタムのタイプコンバーターを利用できる。カスタムコンバーターは org.apache.struts2.util.StrutsTypeConverter; を実装すればいい。で、文字列からカスタム型、カスタム型から文字列への変換の両方を…

Struts2の標準のTypeConverter

Struts2で標準でサポートされている型変換は次がある。String -- これは無変換boolean / Boolean char / Character int / Integer、 float / Float、long / Long、double / Doubleなどの組み込み型dates -- 日付 arrays -- サポートされる型の配列 collectio…

Struts2のType Converterの登録場所

Browserで入力された値は通常String型でありプログラム内部で扱う型とは異なり変換が必要となる。 Struts2ではTypeConverterという仕組みで変換を行い、これはActionやModelのプロパティのsetter/getterの型とStringの相互変換の事である。 つまり、Struts2…