首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Java Web开发 >

自定义的日期类型转换器总是出错?是咋回事

2012-06-01 
自定义的日期类型转换器总是出错?是怎么回事?自定义了一个日期类型转换期总是出错,源代码如下Java codeimp

自定义的日期类型转换器总是出错?是怎么回事?
自定义了一个日期类型转换期总是出错,源代码如下

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 = {  // 支持转换的多种日期格式            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-这样的格式的时候,页面就出现崩溃的那种错误....
请问这个到底哪里写错了呢?

[解决办法]
LZ的输入长格式:如: 1980-03-05
[解决办法]
你调用哪个方法报的错?你不会debug吗?报什么错。
[解决办法]
不知道你其他的逻辑是啥
但是我知道你不输入正确的的日期格式的话
一定会执行 throw new TypeConversionException("日期类型转换错误!");这句

[解决办法]
打印每个输入进来需要转换的日期看看~
[解决办法]
检查一下 你输入的字符串格式 是否正确

热点排行