第一步:新建日期类型转换器类,并继承抽象类org.apache.struts2.util.StrutsTypeConverter,实现convertFromString和convertToString两个抽象方法。
//自定义日期类型转换器
public class DateConverter extends StrutsTypeConverter {
private final DateFormat[] sdf={
new SimpleDateFormat("yyyy年MM月dd日"),
new SimpleDateFormat("yyyy-MM-dd"),
new SimpleDateFormat("yyyy/MM/dd"),
new SimpleDateFormat("yyyy.MM.dd"),
new SimpleDateFormat("yyMMdd"),
new SimpleDateFormat("MM/dd/yy")
};
//将指定格式字符串转换为日期类型
@Override
public Object convertFromString(Map map, String[] strings, Class aClass) {
String dateStr=strings[0]; //获取日期的字符串
for(int i=0;i<sdf.length;i++){
try {
return sdf[i].parse(dateStr);
} catch (Exception e) {
continue;
}
}
//如果遍历完毕后扔没有转换成功,则表明出现转换异常
throw new TypeConversionException();
}
//将日期转换为指定格式字符串
@Override
public String convertToString(Map map, Object o) {
Date date=(Date)o;
//输出的格式是yyyy-MM-dd
return new SimpleDateFormat("yyyy-MM-dd").format(date);
}
}
第二步:新建xwork-conversion.properties配置文件。
一,应用于全局范围的类型转换器:
在src目录下新建配置文件,其内容为:转换类全名=类型转换器类全名
二,应用于特定类的类型转换器:
在特定类的相同目录下创建配置文件,其内容为:特定类的属性名=类型转换器类全名
如:全局范围的类型转换器
java.util.Date=cn.kgc.tools.DateConverter
|
|