日期:2014-05-17  浏览次数:21091 次

前台的值传不到后台
前台代码:
 function customDownload_dellMainPage_review(){
var url = 'newstrade/customDownload_dellMainPage.ghtm?startTime=';
url+=$("#newstrade_newsTrade_startTime").val();
url+='&endTime='+$("#newstrade_newsTrade_endTime").val(); 
opWinFull('reviwe_dell','url:newstrade/customDownload_dellMainPage.ghtm' , '预览页面');
}
后台代码:
if (RegexUtils.matchDate(startTime) && RegexUtils.matchDate(endTime)) {
System.out.println("1111");
newst.setStartTime(DateUtils.getFormatDate(startTime + " 00:00:00",
"yyyy-MM-dd HH:mm:ss"));
newst.setEndTime(DateUtils.getFormatDate(endTime + " 23:59:59",
"yyyy-MM-dd HH:mm:ss"));
request.setAttribute("start",DateUtils.getFormatDate(startTime,
"yyyy-MM-dd"));
request.setAttribute("end", DateUtils.getFormatDate(endTime,
"yyyy-MM-dd"));

}
前台的值传不到后台,
后台报错:


1、Cannot format given Object as a Date
2、java.lang.IllegalArgumentException: Cannot format given Object as a Date
File: java/text/DateFormat.java
请高手解答。

------解决方案--------------------
格式化有问题,先转成字符串在格式化成日期。
------解决方案--------------------
Cannot format given Object as a Date,意思是说不能把前台传过来的startTime当做一个Date类型的,我猜测RegexUtils.matchDate()里边应该是需要date类型的参数吧。
------解决方案--------------------
。。。。。。
把你拿到的值转成你方法里需要的值类型就行了。
------解决方案--------------------
就是把在后台先用String类型的变量先接住startTime,然后再用SimpleDateFormat格式化startTime为Date类型~
Java code

public static void main(String[] args) {
        
        SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd");
        String str=new String("2012-6-6");
        try {
            System.out.println(sdf.parseObject(str));
        } catch (ParseException e) {
            e.printStackTrace();
        }
    }

------解决方案--------------------
先把startTime值,endTime值打出来看看不就知道了....................
------解决方案--------------------
前台的值传到了后台了,只不过在类型转换的过程中,不能转为Date类型
------解决方案--------------------
你说的意思startTime为null?
------解决方案--------------------
你的页面函数那个带参数的url怎么发送的,我怎么没看到哪里有发送那个url请求的地方。
如果你的框架直接用url就能发送请求的话那么你的参数应该在url发送之前就全部拼上去,不然你的url已经都发送请求了,然后才拼参数还有什么用呢,你后台必然没有值。
------解决方案--------------------
可以用这样的方法试一试:requet.getParameter(“startTime”);