struts自定义类型转换器
在struts接收的请求参数都是字符串,但是struts定义了很多的类型转换器,对基本类型进行了很好的转换,但仍然满足不了广大开发者的需求,此次我们自定义一个全局的类型转换对日期类型进行简单的转换,当然方法很多,我只说一种简单的,够用就行:
package com.hpu.convertor;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;
import org.apache.struts2.util.StrutsTypeConverter;
public class DateConvertor extends StrutsTypeConverter {
private final DateFormat[] dfs = {
new SimpleDateFormat("yyyy-MM-dd")
};
@Override
public Object convertFromString(Map context, String[] values, Class toType) {
// 获取要转换数据的值
String dateStr = values[0];
for(int i = 0; i < dfs.length; i++) {
try {
return dfs[i].parse(dateStr);
} catch (ParseException e) {
continue;
}
}
return null;
}
@Override
public String convertToString(Map context, Object object) {
Date date = (Date)object;
return new SimpleDateFormat("yyyy-MM-dd").format(date);
}
}
对类型转换器进行配置:
在src目录下添加xwork-conversion.properties文件:
java.util.Date=com.hpu.convertor.DateConvertor