Struts2的类型转换器

典型的一个例子,
你想把你jsp页面输入的String类型的2011-11-26或者20111126提交到后台,然后转换成java.util.Date类型,该怎么做?

第一步写个类型转换器(DateConvertUtil)类的名字自己定义
定义转换器的步骤
继承DefaultTypeConverter
覆盖convertValue方法
@Override
public Object convertValue(Map<String, Object> context, Object target,
Member member, String propertyName, Object value, Class toType) {
SimpleDateFormat format=new SimpleDateFormat("yyyyMMdd");
try {
if(toType==Date.class){
String[] params=(String[])value;
return format.parse(params[0]);
}else if(toType==String.class){
Date date=new Date();
return format.format(date);
}
} catch (Exception e) {

}
return null;
}

只要覆盖convertValue方法,你的类型转换器就算制定了

第二步  用

1如果你只想把某一个类中的date转型,那只要注册局部转换器
步骤:
1局部类型转换器
建一个-conversion.properties的文件在要转换的类下,假如这里有person类的date2要使用类型转换器
则在Person类下建一个Person-conversion.properties的文件,文件类容就放你要转换的类型

date2=com.test.util.DateTypeConverter


如果你想要整个项目的date类型都这样做,那就注册全局类型转换器
2全局类型转换器注册
在WEB-INF/classes下放置xwork-conversion.properties文件,在里面的类容
打转换的类型=类型转换器的全名
java.util.Date=com.test.util.DateTypeConverter

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

半个鼠标

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值