public class DateTypeConverter extends DefaultTypeConverter {
@Override
public Object convertValue(Map<String, Object> context, Object target,
Member member, String propertyName, Object value, Class toType) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyymmdd");
try {
if(toType == Date.class){//有字符串向Date转换
String[] params = (String[]) value;
return dateFormat.parse(params[0]);
}else if(toType == String.class){//由Date向String转化
Date date = (Date) value;
return dateFormat.format(date);
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
}
将上面的类型转换器注册为 局部类型转换器:
在Action类所在的包下面放置ActionClassName-conversion.properties文件;
ActionClassName是Action的类名,后面-conversion.properties是固定写法。
在properties文件中的内容为
属性名称 = 类型转换器的全类名;
g:time = cn.edu.hpu.struts.test.DateTypeConverter