這是第二個星期試圖找到我的問題的答案......除了向數據庫問題插入日期字段時,一切正常......我確信有人可以幫助我!謝謝 !JSP日期到PostgreSQL日期JasperException
數據庫字段:campstart,這是一個 「時間戳沒有時區」
++++++++++ JSP有以下頁面:
...(一些代碼) //格式化日期:
SimpleDateFormat dateFormat = new SimpleDateFormat("dd/MM/yyyy HH:mm");
...(一些代碼)//從網頁獲取輸入
<input name="start" type="text" value="<%= defaultCampaign.getCampstart() != null ? dateFormat.format(defaultCampaign.getCampstart()) : dateFormat.format(new java.util.Date()) %>">
...(更多代碼)
++++++++++在支持Java:
...(一些代碼)//聲明變量
private java.util.Date campstart = null;
...(一些代碼)//分配數據
public void setCampstart(java.util.Date aCampstart) {
this.campstart = aCampstart; }
public java.util.Date getCampstart() {
return this.campstart; }
...(一些代碼)//寫入到PostgreSQL +下面是有問題的+
線pst.setTimestamp(10, new Timestamp(this.getCampstart().getTime()));
...(更多代碼)
+++++++++
當我改變的代碼行以下(調試)它工作正常:
pst.setTimestamp(10, new Timestamp(new java.util.Date().getTime()));
日期插入完美地工作,它寫入數據庫沒有錯誤。但是,當我更改代碼以插入用戶日期時,它給我出現以下錯誤:
org.apache.jasper.JasperException:無法將字符串「2012年4月7日19:12」轉換爲類「 java.util.Date」爲屬性‘campstart’:屬性編輯器無法與PropertyEditorManager
註冊人可以幫我找出我做錯了......
謝謝!!
Rob。
this.getCampstart()。getTime()返回什麼對象?它是日期還是字符串? –
http://stackoverflow.com/a/7628390/411902 –
可能的誘惑似乎是引入了一個空值。它應該從JSP頁面獲取用戶輸入的日期。我只是不能指出問題......(所有其他領域的工作很好,除了日期)。 我不確定它的java.util.Date是否爲java.sql。日期轉換問題,或者它沒有將日期從JSP頁面傳遞到Java類;或格式不正確...但嘗試不同的設置,只是不能破解它! :( – Beto