[英]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
指定的规则。 这种模式将用于解析, 并且type
,dateStyle
和timeStyle
属性将被忽略。
但是,我必须承认,JSF男孩们也必须在f:convertDateTime
pdldoc中明确指定它。 从那里不明显。 我会向JSF男孩报告一个问题,以使他们澄清这一部分。
为了使它起作用,最好的选择是不依赖于模式,而是依赖type
, dateStyle
和timeStyle
(以及语言环境), 或者创建一个自定义日期时间转换器,该转换器extends DateTimeConverter
并相应地覆盖方法。
您还必须在消息中定义javax.faces.converter.DateTimeConverter.TIME。
在这里查看: http : //www.icefaces.org/JForum/posts/list/16119.page在最后一篇之前的一篇。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.