Struts2のTypeConverterを書く

Struts2でプロパティで標準型以外を使用したい場合、カスタムのタイプコンバーターを利用できる。

カスタムコンバーター

org.apache.struts2.util.StrutsTypeConverter;

を実装すればいい。

で、文字列からカスタム型、カスタム型から文字列への変換の両方を用意してあげる。

まずは文字列型からカスタム型への変換用メソッドのインターフェースは次のようになっている

public Object convertFromString(Map arg0, String[] arg1, Class arg2);
arg0 Map Actionコンテキストが入っている(らしい)
arg1 String[] 渡された文字列が入っている
arg2 Class プロパティの型が入っている

あと逆のカスタム型から文字列型への変換用メソッドのインターフェースは次のようになっている

public String convertToString(Map arg0, Object arg1);
arg0 Map Actionコンテキストが入っている(らしい)
arg1 Object カスタム型の変換したいオブジェクト