struts2自定义类型转换

自定义类型转换器分两种局部类型转换器和全局类型转换器:
接收格式为yyyy-MM-dd的日期时,Struts2框架可以自动转换;当格式为yyyyMMdd时用类型转换器来处理。
1、局部类型转换器
public class DateTypeConverter extends DefaultTypeConverter {
 @Override
 public Object convertValue(Map<String, Object> context, Object value, Class toType) {
  SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");
  try {
   if(toType == Date.class){//当字符串向Date类型转换时
    String[] params = (String[]) value;// request.getParameterValues()
    return dateFormat.parse(params[0]);
   }else if(toType == String.class){//当Date转换成字符串时
    Date date = (Date) value;
    return dateFormat.format(date);
   }
  } catch (ParseException e) {}
  return null;
 }
}
在Action类所在的包下放置ActionClassName-conversion.properties文件,文件内容为:属性名称=类型转换器的全类名
本例中,
文件名称为:HelloWorldAction-conversion.properties
文件内容为:birthday=cn.itcast.conversion.DateTypeConverter

2、全局类型转换器
在WEB-INF/classes下放置xwork-conversion.properties文件,内容为:
待转换的类型=类型转换器的全类名
本例中,xwork-conversion.properties中件中内容为:
java.util.Date=cn.itcast.conversion.DateConverter

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值