我对f:convertdateTime有问题,它似乎使用了错误消息 javax.faces.converter.datetimeconverter.date_detail 当我转换时间时(即它应该使用 javax.faces.converter.datetimeconverter.time_detail).

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

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

即使指定了类型=“时间”,它仍然使用 date_detail 错误信息。这是一个错误还是我的假设应该使用 time_detail 错误消息错误,我必须创建自己的转换器?

有帮助吗?

解决方案

不幸的是,这也是 DateTimeConverter Javadoc 在说。这是相关性的摘录:

如果一个 pattern 已指定,其语法必须符合规定的规则 java.text.SimpleDateFormat. 。这样的模式将用于解析 type, dateStyle, , 和 timeStyle 属性将被忽略。

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

为了使它工作,最好的选择是不依赖于模式,而是 type, dateStyletimeStyle (和地方),而是 或者 创建一个自定义日期时间转换器 extends DateTimeConverter 并相应地覆盖方法。

其他提示

您还必须在消息中定义Javax.faces.faces.converter.datetimeconverter.time。

看这里: http://www.icefaces.org/jforum/posts/list/16119.page 最后一个帖子。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top