【问题标题】:JSP Date to PostgreSQL Date JasperExceptionJSP 日期到 PostgreSQL 日期 JasperException
【发布时间】:2012-07-11 06:02:09
【问题描述】:

这是第二周试图找到我的问题的答案......一切都很好,除了将日期字段插入数据库问题......我相信有人可以帮助我!谢谢你 !

数据库列是: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:无法将字符串“04/07/2012 19:12”转换为属性“campstart”的类“java.util.Date”:属性编辑器未向 PropertyEditorManager 注册

谁能帮我弄清楚我做错了什么...

谢谢你!!

罗伯。

【问题讨论】:

  • this.getCampstart().getTime() 返回什么对象?是日期还是字符串?
  • 这似乎带来了一个空值。它应该从 JSP 页面获取用户输入的日期。我只是无法确定问题所在……(除日期外,所有其他字段都可以正常工作)。我不确定它的 java.util.Date 到 java.sql.Date 的转换问题,或者它没有将日期从 JSP 页面传递到 Java 类;或者格式不正确...但是尝试了不同的设置,就是破解不了!! :(
  • Rob,如果我将设置器更改为字符串,那么 JSP 页面上的日期输入将不起作用(我还有一个弹出日历,它以正确的格式显示日期)。 'SimpleDateFormat("dd/MM/yyyy HH:mm")'
  • 当我更改日期格式时,它就可以工作了。出于某种原因,它在“7”而不是“07”之类的月份发送。感谢您的所有帮助!

标签: java jsp postgresql


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2021-11-24
    • 2014-10-01
    • 1970-01-01
    • 2021-10-26
    • 1970-01-01
    • 2012-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多