您的位置:首页 > 编程语言 > Java开发

Struts2:自定义类型转换器

2018-03-30 00:02 288 查看
public class DateTypeConverter extends DefaultTypeConverter {
//必须继承DefaultTypeConverter类
//然后重写convertValue方法
@Override
public Object convertValue(Map<String, Object> context, Object value, Class toType) {
// TODO Auto-generated method stub
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转换成字符串时
Date date = (Date) value;
return dateFormat.format(date);

}
} catch (ParseException e) {
// TODO: handle exception
}
return null;
}

}


编写完类型转化器之后,需要注册。

1.注册为局部类型转化器:

在Action类所在的包下放置ActionClassName-conversion.properties文件(新建一个普通文件),ActionClassName是类名,后面的-conversion.properties是固定写法。

在properties文件中的内容为:

属性名称=类型转化器的全类名

createtime = cn.itcast.conversion.DateConverter

2.将上面的类型转换器注册为全局类型转换器:

在(WEB-INF/classes) src 下放置xwork-conversion.properties文件。

在properties文件中的内容为:

带转换的类型=类型转化器的全类名

java.util.Date= cn.itcast.conversion.DateConverter
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: