前台的值传不到后台
前台代码:
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”);