自定义类型转换器

1、在util包下面新建一个类DateConverter,继承DefaultTypeConverter,代码如下:
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;

import com.opensymphony.xwork2.conversion.impl.DefaultTypeConverter;

public class DateConverter extends DefaultTypeConverter {

	public Object convertValue(Map<String, Object> context, Object value, Class toType) {
		
		SimpleDateFormat formatter=new SimpleDateFormat("yyyyMMdd");
		
		if(toType==Date.class){
			String[] params=(String[])value;
			try {
				return formatter.parse(params[0]);
			} catch (ParseException e) {
				e.printStackTrace();
			}
		}else{
			Date date=(Date)value;
			return formatter.format(date);
		}
		return null;
	}
	
}

2、注册自定义类型转换器
a.注册全局类型转换器
在src下面新建文件xwork-conversion.properties,加入以下代码:
java.util.Date=util.DateConverter
b.注册局部类型转换器
在action所在包下面新建文件ActionClassName-conversion.properties,加入以下代码(date为action中类型为Date的属性):
date=util.DateConverter

你可能感兴趣的:(java)