自定义的日期类型转换器总是出错?是咋回事
自定义的日期类型转换器总是出错?是怎么回事?
自定义了一个日期类型转换期总是出错,源代码如下
页面输入类似的1980-这样的格式的时候,页面就出现崩溃的那种错误....
请问这个到底哪里写错了呢?
------解决方案--------------------
LZ的输入长格式:如: 1980-03-05
------解决方案--------------------
你调用哪个方法报的错?你不会debug吗?报什么错。
------解决方案--------------------
不知道你其他的逻辑是啥
但是我知道你不输入正确的的日期格式的话
一定会执行 throw new TypeConversionException("日期类型转换错误!");这句
------解决方案--------------------
打印每个输入进来需要转换的日期看看~
------解决方案--------------------
检查一下 你输入的字符串格式 是否正确
自定义了一个日期类型转换期总是出错,源代码如下
- 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("日期类型转换错误!");这句
------解决方案--------------------
打印每个输入进来需要转换的日期看看~
------解决方案--------------------
检查一下 你输入的字符串格式 是否正确