Дата Ошибка при преобразовании времени с F: ConvertDateTime
-
26-09-2019 - |
Вопрос
У меня проблемы с 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
, dateStyle
а также timeStyle
(и локаль) вместо или Создать пользовательский преобразователь времени даты, который extends DateTimeConverter
и переопределяет методы соответственно.
Другие советы
Вы также должны определить javax.faces.converter.dateTimeconverter.time в ваших сообщениях.
Смотри сюда: http://www.icefaces.org/jforum/posts/list/16119.page.page.page. Один пост до последнего.