Ошибка даты при преобразовании времени с помощью f: convertDateTime - PullRequest
0 голосов
/ 01 сентября 2010

У меня проблема с f: convertDateTime, которая, кажется, использует сообщение об ошибке javax.faces.converter.DateTimeConverter.DATE_detail , когда я конвертирую время (то есть он должен использовать javax.faces. converter.DateTimeConverter.TIME_detail ).

Проблема, я полагаю, заключается в том, что я использую шаблон, и поэтому он не знает, является ли это дата или время, которое он связывает для преобразования. Это то, что я пытаюсь ("timePattern" это "чч.мм"):

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

Даже если указано type = "time", оно все равно использует сообщение об ошибке DATE_detail . Это ошибка или мое предположение, что она должна использовать сообщение об ошибке TIME_detail неправильно, и мне нужно создать свой собственный конвертер?

Ответы [ 2 ]

3 голосов
/ 02 сентября 2010

К сожалению, это также то, что говорит DateTimeConverter javadoc .Вот выдержка из релевантности:

Если указан pattern, его синтаксис должен соответствовать правилам, указанным в java.text.SimpleDateFormat.Такой шаблон будет использоваться для анализа, , а свойства type, dateStyle и timeStyle будут игнорироваться.

Однако я должен признать, что JSFмальчики должны были указать это явно в f:convertDateTime pdldoc .Это не очевидно оттуда.Я бы сообщил о проблеме ребятам из JSF, чтобы они разъяснили эту часть.

Чтобы заставить ее работать, лучше всего либо не полагаться на модель, но и type, dateStyleи timeStyle (и локаль) вместо этого, или создайте пользовательский конвертер времени и даты, который extends DateTimeConverter и соответственно переопределяет методы.

0 голосов
/ 01 сентября 2010

Вы также должны определить javax.faces.converter.DateTimeConverter.TIME в своих сообщениях.

Смотрите здесь: http://www.icefaces.org/JForum/posts/list/16119.page Один пост перед последним.

...