2012-07-05 46 views
0

这是第二个星期试图找到我的问题的答案......除了向数据库问题插入日期字段时,一切正常......我确信有人可以帮助我!谢谢 !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。

+0

this.getCampstart()。getTime()返回什么对象?它是日期还是字符串? –

+0

http://stackoverflow.com/a/7628390/411902 –

+0

可能的诱惑似乎是引入了一个空值。它应该从JSP页面获取用户输入的日期。我只是不能指出问题......(所有其他领域的工作很好,除了日期)。 我不确定它的java.util.Date是否为java.sql。日期转换问题,或者它没有将日期从JSP页面传递到Java类;或格式不正确...但尝试不同的设置,只是不能破解它! :( – Beto

回答

0

当我更改日期的格式时,有工作。出于某种原因,它发送的月份是“7”而不是“07”。