EmpActionTwo-conversion.properties 配置到EmpActionTwo.java同目录下
EmpEmpActionTwo-conversion.properties内容如下:
emp=cn.veryedu.converter.EmpTypeConverter
EmpTypeConverter.java内容:
package cn.veryedu.converter;
import java.lang.reflect.Member;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.Map;
import ognl.TypeConverter;
import cn.veryedu.vo.EmpVO;
public class EmpTypeConverter implements TypeConverter {
/**
* 进行数据的转换
* @param Map --- 类型转换器所对应的请求参数
* @param object --- 所对应Action对象
* @param Member --- 调用的哪个成员将转换后的值设入Action中
* @param String --- 属性名
* @param object --- 请求参数值
* @param Class -- 属性的类型
* @return Object --- 根据请求参数,根据属性的类型所创建对象实例
*/
public Object convertValue(Map map, Object object,
Member member,
String attributeName,
Object params, Class clazz) {
Object[] paramArray = (Object[])params;
EmpVO emp = new EmpVO();
emp.setEname(paramArray[0].toString());
emp.setSal(new Double(paramArray[1].toString()).doubleValue());
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-mm-dd");
Date date = null;
try {
date = dateFormat.parse(paramArray[2].toString());
System.out.println(date);
} catch (ParseException e) {
e.printStackTrace();
}
emp.setHiredate(date);
return emp;
}
}
如果要配置全局转换器:到src根目录下添加xwork-conversion.properties:
cn.veryedu.vo.EmpVO=cn.veryedu.converter.EmpTypeConverter
java.util.Date=cn.veryedu.converter.HiredateTypeConverter