繁体   English   中英

使用f:convertDateTime转换时间时发生日期错误

[英]Date error when converting time with f:convertDateTime

我对f:convertDateTime有问题,当我转换时间时,它似乎使用错误消息javax.faces.converter.DateTimeConverter.DATE_detail (即,它应使用javax.faces.converter.DateTimeConverter.TIME_detail )。

我猜,问题是我使用的是模式,因此它不知道它是要转换的日期还是时间。 这是我正在尝试的(“ timePattern”是“ hh.mm”):

<f:convertDateTime type="time" pattern="#{timePattern}" />

即使指定了type =“ time”,它仍然使用DATE_detail错误消息。 这是一个错误,还是我的假设是应该使用TIME_detail错误消息,因此我必须创建自己的转换器?

不幸的是,这也是DateTimeConverter javadoc所说的。 这是相关的摘录:

如果指定了pattern ,则其语法必须符合java.text.SimpleDateFormat指定的规则。 这种模式将用于解析, 并且typedateStyletimeStyle属性将被忽略。

但是,我必须承认,JSF男孩们也必须在f:convertDateTime pdldoc中明确指定它。 从那里不明显。 我会向JSF男孩报告一个问题,以使他们澄清这一部分。

为了使它起作用,最好的选择是不依赖于模式,而是依赖typedateStyletimeStyle (以及语言环境), 或者创建一个自定义日期时间转换器,该转换器extends DateTimeConverter并相应地覆盖方法。

您还必须在消息中定义javax.faces.converter.DateTimeConverter.TIME。

在这里查看: http : //www.icefaces.org/JForum/posts/list/16119.page在最后一篇之前的一篇。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM