@override
public class DateConvert extends DefaultTypeConvert{
SimpleDateFormat dateFormat=new SimpleDateFormat("yyyyMMdd");
try{
if(toType==Date.class){//当字符串向Date类型转换时
String[] params=(String[])value;//Request.getParamterValues();;
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文件,ActionClassName是Action的类名,后面的-conversion.properties是固定写法
里面的内容为:
属性名称=类型转换器的全类名
eg:变量名(比如时间变量名)=包名+.DateConvert .
自定义全局类型转换器
将上面的类型转换器注册为全局类型转换器:
在WEB-INF/classes下面放置xwork-conversion.properties文件。在properties文件中的内容为:待转换的类型=类型转换器的全名
对于本例而言:
xwork-conversion.properties文件中的内容为:
java.util.Date=包名+DateConverter
搞定!