Struts2のカスタムタイプコンバーター
カスタムタイプコンバーターは与えられた文字列の長さを保持するカスタム型への変換とすると次のようになる
package tutorial; import java.util.Map; import org.apache.struts2.util.StrutsTypeConverter; public class MyCustomTypeConverter extends StrutsTypeConverter { @Override public Object convertFromString(Map arg0, String[] arg1, Class arg2) { if ( arg1 == null || arg1.length == 0 ) { return null; } CustomType cm = new CustomType(); cm.setValue( arg1[0].length() ); return cm; } @Override public String convertToString(Map arg0, Object arg1) { if ( arg1 != null && arg1 instanceof CustomType ) { CustomType cm = (CustomType)arg1; return "[" + cm.getValue() +"]"; } return null; } }
CustomTypeは次のようななんでもないクラス
package tutorial; public class CustomType { int value; /** * valueを取得します。 * @return value */ public int getValue() { return value; } /** * valueを設定します。 * @param value value */ public void setValue(int value) { this.value = value; } }