Я использую RichFaces 3.3.3 и пытаюсь выяснить, как установить часть времени Rich:Cal
в качестве текущей системной даты вместо значения по умолчанию 12:00
, где шаблон даты - dd/M/yyyy HH:mm
. Я также не заинтересован в использовании атрибута DefaultTime
, так как в моей ситуации он бесполезен.
так Вопрос: я пропустил его или невозможно включить текущее системное время, когда пользователь выбирает ячейку даты?
2 - Если ответ на вопрос выше невозможен , то каков наилучший способ реализовать такое поведение?
Внизу будет хорошо:
<rich:calendar id="richCal1"
value="#{cust.dateFrom1}"
datePattern="dd/M/yyyy HH:mm"
enableManualInput="true"
<f:convertDateTime pattern="dd/M/yyyy HH:mm" type="both"/>
<f:validator validatorId="#{cust.dateAppend}"/>
<f:attribute name="richCalendar" value="RichCalendar1" />
</rich:calendar>
Таким образом, когда пользователь выбирает дату, в пользовательском валидаторе Backbean dateAppend
я определю элемент, с которого сработал триггер using the UIComponent.getAttributes() which for above code will be richCalendar
, и, следовательно, узнаю, какую переменную backbean нужно обновить, чтобы перезаписать время по умолчанию на системное время. Звучит хаки, но я не знаю другого пути и должен работать.
Я пишу здесь, так что в случае, если описанный выше подход совершенно неправильный, кто-то может дать мне знать или дать совет по альтернативам. Спасибо
UPDATE:
Приведенный выше подход не будет работать, поскольку сеттеры вызываются в модели обновления, а не в фазе запроса на применение, и поэтому я не могу изменить значение переменной backbean при возникновении события.
должен быть способ. Любые советы будут с благодарностью.