在linux 64位操作系统下struts2默认的类型转换器存在问题:
在自动填充formbean的时候,date数据类型报异常 无法找到set....(String date)方法
struts2的类型转换器没有将String类型的数据转换成Date数据类型
故此,使用自定义类型转换器
代码如下:
类型转换器代码:
public class DateConverter extends StrutsTypeConverter {
private static String DATE_TIME_FOMART_IE = "yyyy-MM-dd";
@Override
public Object convertFromString(Map context, String[] values, Class toClass) {
Date date = null;
String dateString = null;
if (values != null && values.length > 0) {
dateString = values[0];
if (dateString != null) {
SimpleDateFormat format = new SimpleDateFormat(
DATE_TIME_FOMART_IE);
try {
date = format.parse(dateString);
} catch (Exception e) {
date = null;
}
}
}
return date;
}
@Override
public String convertToString(Map context, Object o) {
// 格式化为date格式的字符串
Date date = (Date) o;
String dateTimeString=new SimpleDateFormat(DATE_TIME_FOMART_IE).format(date);
return dateTimeString;
}
}
配置文件代码:
在src目录下建立xwork-conversion.properties文件
xwork-conversion.properties文件内容如下:
java.util.Date= DateConverter类的s全路径