JSF 转换器时间戳
我想将我的输入转换为时间戳值。
我只在示例中找到了日期转换器。有没有最佳实践?
谢谢
更新:
我想保存用户的生日,但我的后端需要时间戳值。我在将它绑定到我的 jsf 前端时遇到问题..
也许示例的链接会有帮助:-)
我尝试如下:
public void setBday(Date bday) {
member.setBirthday(new Timestamp(bday.getTime()));
}
public Timestamp getBday() {
return member.getBirthday();
}
但我得到异常(奇怪):(
/createMember.xhtml @34,54 value="#{member.bday}": Cannot convert 13.01.83 01:00 of type class java.util.Date to class java.sql.Timestamp
这可能是因为 get 方法吗?)
I want to convert my input into a timestamp value.
I have only found a dateconverter in examples. Are there any best practises?
Thank you
Update:
I want to save a birthday of a user but my backend requires a timestamp value. And I have problems with binding it to my jsf frontend..
Maybe a link to an example would be helful :-)
I tried it as follows:
public void setBday(Date bday) {
member.setBirthday(new Timestamp(bday.getTime()));
}
public Timestamp getBday() {
return member.getBirthday();
}
But I get exceptions (strange):
/createMember.xhtml @34,54 value="#{member.bday}": Cannot convert 13.01.83 01:00 of type class java.util.Date to class java.sql.Timestamp
(Is it maybe because of get method?)
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
绑定到
Date# getTime()
而不是获取/设置以毫秒为单位的原始时间戳。或者,如果您想输入/输出人类可读的日期,那么只需坚持使用
#{bean.date}
并使用标准日期转换器。在后端只需使用
Date#getTime()
来处理时间戳。更新:您不应该用 JDBC 特定的 API 来混淆您的模型。
java.util.Date
表示时间戳。仅当您要将java.util.Date
保留在TIMESTAMP
或中时才使用
列。java.sql.Timestamp
数据库的 DATETIMEBind to
Date#getTime()
instead to get/set the raw timestamp in milliseconds.Or if you want to input/output a human readable date, then just stick to using
#{bean.date}
and use the standard date converters.In the backend just use
Date#getTime()
to process the timestamp.Update: you shouldn't clutter your model with JDBC specific API. The
java.util.Date
represents the timestamp. Usejava.sql.Timestamp
only at that point you're about to persist ajava.util.Date
in aTIMESTAMP
orDATETIME
column of your DB.