ActionでのTypeConversion
AnnotationでTypeConverterを利用する場合
@TypeConversion
を ModelDriven の getModel または、プロパティのSetメソッドで指定する。
TypeConversionには type オプションがあり、
type=ConversionType.APPLICATION
と
type=ConversionType.CLASS
が指定できる。 APPLICATIONの場合は アプリケーションスコープでの設定となる。
しかし、APPLICATIONで指定するならAnnotationより、xwork-conversion.properties で指定したほうが良いだろう。
とりあえずAPPLICATIONの場合の指定方法
import com.opensymphony.xwork2.conversion.annotations.Conversion; import com.opensymphony.xwork2.conversion.annotations.ConversionType; import com.opensymphony.xwork2.conversion.annotations.TypeConversion; @Conversion public class UserAction extends ActionSupport implements ModelDriven<User> { : @TypeConversion( type=ConversionType.APPLICATION, key="tutorial.CustomType", converter = "tutorial.MyCustomTypeConverter") public User getModel() { return user; }
こんな感じになる。
key で タイプを指定し、 converter で コンバーターのクラスを指定する。