最近遇到BeanUtils.copyProperties(),把Date类型数据copy到XMLGregorianCalendar类型的字段上,以下是我写的转换器,把这个注册到ConvertUtils就可以使用了
import org.apache.commons.beanutils.*;
import org.slf4j.Logger;import org.slf4j.LoggerFactory;
import java.util.Calendar;
import java.util.Date;
import javax.xml.datatype.DatatypeFactory;
import javax.xml.datatype.XMLGregorianCalendar;
public class XMLGregorianCalendarConverter implements Converter {
private Logger logger = LoggerFactory.getLogger(this.getClass());
public Object convert(Class arg0, Object arg1) {
if(arg1 instanceof XMLGregorianCalendar){
return this.convert(arg0, (XMLGregorianCalendar)arg1);
}else{
return this.convert(arg0, (Date)arg1);
}
} <