[Seasar-user:19386] Re: [SAStruts] 文字列から列挙型への変換について
田嶋隆寿
[E-MAIL ADDRESS DELETED]
2010年 2月 25日 (木) 22:53:30 JST
田嶋です。
いつもお世話になっております。
> S2BeanUtilsはEnumかどうかは意識してなくて、staticなvalueOf()に
> フィールドの値を渡しているだけなので、既存のアプリに影響を与えずに
> 変更するのは難しいです。
既存のアプリに影響を与えてしまうとなると、
確かに諦めたほうがよさそうです。
> EnumのConverterを作って空文字のときにnullに変更することは可能だと
> 思うので、beans.converterにいるやつを参考にしてみてください。
既存のConverterを参考に、以下のクラスを作成したところ、
思った通りの動作が実現できました。
ありがとうございました。
public class EnumConverter implements Converter {
public Object getAsObject(String value) {
if (StringUtil.isEmpty(value)) {
return null;
}
return value;
}
public String getAsString(Object value) {
return StringConversionUtil.toString(value);
}
@SuppressWarnings("unchecked")
public boolean isTarget(Class clazz) {
return Enum.class.isAssignableFrom(clazz);
}
}
Seasar-user メーリングリストの案内