将字符串日期转换为实用日期并在sql日期中插入

时间:2015-03-11 17:12:50

标签: java jsp date

所以我在第一个提交文件中有几个文件

的List.jsp

<input type="hidden" name="date"  value='<fmt:formatDate value="${b.datePub}" pattern="MM/dd/yyyy"/>'/>         
<input type="submit" value="Edit"></form>

List2.jsp

<br/> Date Published (mm/dd/yyyy) [READ]: 
<input type="text" name="datePub"  value='<fmt:formatDate value="${datePub}" pattern="MM/dd/yyyy"/>' readonly="readonly"/>

dao.java

....
SimpleDateFormat sdf = new SimpleDateFormat("MM/dd/yyyy");
Date d= sdf.parse(request.getParameter("datePub"));
java.sql.Date sqlDate = new java.sql.Date(d.getTime());
insert.setDate(5, sqlDate);
....

我得到的错误是javax.el.ELException: Cannot convert 01/01/2000 of type class java.lang.String to class java.util.Date我一直试图找出问题很长一段时间。有人可以找出问题所在吗?

1 个答案:

答案 0 :(得分:2)

Instead
<input type="text" name="datePub"  value='<fmt:formatDate value="${datePub}" pattern="MM/dd/yyyy>' readonly="readonly"/>

应该是

<input type="text" name="datePub"  value='<c:out value="${datePub}"/>' readonly="readonly"/>

因为放入已经格式化的第二个formatDate会导致它读取为字符串,它是一个日期。