错误如下:
java.lang.IllegalArgumentException
java.sql.Date.valueOf(Unknown Source)
com.struts.LedMediaAction.execute(LedMediaAction.java:29)控制台上是警告:
2010-3-22 11:22:21 org.apache.struts.action.RequestProcessor processException
警告: Unhandled Exception thrown: class java.lang.IllegalArgumentException字段buildtime在数据库里是date型,我在form里定义的是private String buildtime; 取出后转为date型在set进bean里,bean里是date的 就报这个错误                 
                  LedMediaForm lmf=(LedMediaForm)form;

LedMediaBean bean=new LedMediaBean();

bean.setLname(CharTools.isoToUTF(lmf.getLname()));
bean.setLedward(CharTools.isoToUTF(lmf.getLedward()));
bean.setLtype(CharTools.isoToUTF(lmf.getLtype()));
bean.setLedsize(CharTools.isoToUTF(lmf.getLedsize()));
bean.setBuildtime(java.sql.Date.valueOf(lmf.getBuildtime()));
bean.setGztime(java.sql.Date.valueOf(lmf.getGztime()));
bean.setJxtime(java.sql.Date.valueOf(lmf.getJxtime()));
bean.setNote(CharTools.isoToUTF(lmf.getNote()));

LedMediaBP bp=new LedMediaBP();
request.setAttribute("datas",bp.query(bean));

解决方案 »

  1.   

    应该你转的Date的类型有错误!看看你的是不是java.util.Date还是java.sql.Date
    可能是你转换的时候Date出错了!这个错误是报Date的错误的,lz看看那里出错了
      

  2.   

    public static Date valueOf(String s)
    s - 表示 "yyyy-mm-dd" 形式的日期的 String 对象
    抛出:IllegalArgumentException
    肯定是给定日期不是 JDBC 日期转义形式 (yyyy-mm-dd)
      

  3.   

    错误提示不仅仅要看第一行 更要看 cause by你把全部的发出来 估计就知道错在哪里了。。
      

  4.   

    获取的应该是null 然后set 进去了  转换的 时候 就报错了
      

  5.   

    楼主的问题我遇到过,
    我的解决办法是:在bean还是使用String类型,(yyyy-mm-dd HH:mm::SS),
    最后在sql语句里再将String 转换为 Date类型。