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

struts2自定义类型转换

2013-03-19 20:04 537 查看
自定义类型转换器分两种局部类型转换器和全局类型转换器:

接收格式为yyyy-MM-dd的日期时,Struts2框架可以自动转换;当格式为yyyyMMdd时用类型转换器来处理。

1、局部类型转换器

public class DateTypeConverter extends DefaultTypeConverter {

@Override

public Object convertValue(Map<String, Object> context, Object value, Class toType) {

SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd");

try {

if(toType == Date.class){//当字符串向Date类型转换时

String[] params = (String[]) value;// request.getParameterValues()

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文件,文件内容为:属性名称=类型转换器的全类名

本例中,

文件名称为:HelloWorldAction-conversion.properties

文件内容为:birthday=cn.itcast.conversion.DateTypeConverter

2、全局类型转换器

在WEB-INF/classes下放置xwork-conversion.properties文件,内容为:

待转换的类型=类型转换器的全类名

本例中,xwork-conversion.properties中件中内容为:

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