自定义的日期类型转换器总是出错?是咋回事
自定义的日期类型转换器总是出错,是怎么回事,
自定义了一个日期类型转换期总是出错,源代码如下
Java code
import java.util.Date;
import java.util.Map;
import org.apache.struts2.util.StrutsTypeConverter; import com.opensymphony.xwork2.conversion.TypeConversionException;
public class DateConverter extends StrutsTypeConverter {
private final DateFormat[] dfs = { // 支持转换的多种日期
格式
pdf格式笔记格式下载页码格式下载公文格式下载简报格式下载
new SimpleDateFormat( yyyy年MM月dd日 ),
new SimpleDateFormat( yyyy-MM-dd ),
new SimpleDateFormat( yyyy/MM/dd ) };
/**
* 将指定格式字符串转换为日期类型
*/
public Object convertFromString(Map context, String[] values,
Class toType) {
String dateStr = values[0];// 获取日期的字符串
System.out.println( datestr= +dateStr);
// 遍历日期支持格式,进行转换
for (int i=0;i dfs.length;i++) {
try {
return dfs[i].parse(dateStr);
} catch (Exception e) {
System.out.println( 第 +i+ 个发生异常 );
continue;
}
}
//如果遍历完毕后仍没有转换成功,表面出现转换异常。
throw new TypeConversionException( 日期类型转换错误~ );
//throw new RuntimeException( 转换错误 );
//return null;
}
页面输入类似的1980-这样的格式的时候,页面就出现崩溃的那种错误....
请问这个到底哪里写错了呢,
------解决
方案
气瓶 现场处置方案 .pdf气瓶 现场处置方案 .doc见习基地管理方案.doc关于群访事件的化解方案建筑工地扬尘治理专项方案下载
--------------------------------------------------------
LZ的输入长格式:如: 1980-03-05
------解决方案--------------------------------------------------------
你调用哪个方法报的错,你不会debug吗?报什么错。
------解决方案--------------------------------------------------------
不知道你其他的逻辑是啥
但是我知道你不输入正确的的日期格式的话
一定会执行 throw new TypeConversionException( 日期类型转换错误~ );这句
------解决方案--------------------------------------------------------
打印每个输入进来需要转换的日期看看~
------解决方案--------------------------------------------------------
检查一下 你输入的字符串格式 是否正确