struts2的自定义类型转换问题
这是一个struts2的自定义类型转换器:图中代码如下:publicclassDateConverterextendsDefaultTypeConverter{@Over...
这是一个struts2的自定义类型转换器:
图中代码如下:
public class DateConverter extends DefaultTypeConverter {
@Override public Object convertValue(Map 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中定义了birthday变量为date类型,要为它进行类型转换,在这个代码中toType不就是birthday固定的类型为date吗?为什么还要和String类型比较呢?如果不改动action中birthday类型的话toType应该始终是date类型吧,请问为什么要这么做呢? 展开
图中代码如下:
public class DateConverter extends DefaultTypeConverter {
@Override public Object convertValue(Map 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中定义了birthday变量为date类型,要为它进行类型转换,在这个代码中toType不就是birthday固定的类型为date吗?为什么还要和String类型比较呢?如果不改动action中birthday类型的话toType应该始终是date类型吧,请问为什么要这么做呢? 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询