Будучи компонентом DatePicker
a TextField
, почему бы не использовать в нем пользовательский IConverter
для возврата только dd.MM.yyyy
в его convertToObject
?
Мне не удалось просмотреть его источники ни одного зарегистрированного IConverter
или другого способа преобразования ввода, так что это, вероятно, будет конфликтовать с форматированием ввода в этом компоненте.
UPDATE
После отладки в быстром запуске с использованием WiQuery 1.2.4 и Wicket 1.4.17, он показывает, что начальное значение DatePicker
(то есть TextField
) является стандартным преобразованием, выполняемым Component.getDefaultModelObjectAsString()
.
Поскольку TextField
имеет IModel<Date>
, он будет использовать все, что IConverter
зарегистрировано для класса Date
. В вашем случае это может быть пользовательский IConverter
, который форматируется со временем. Я бы попробовал переопределить DatePicker
getConverter()
и использовать SimpleDateFormat
, который учитывает формат, указанный в setDateFormat()
.
Эта проблема дает подсказку о том, что следует указать IConverter
вместе с DatePicker
: Проблема 168: Неверный (или необычный) формат даты для NL в DatePicker
Вы также можете найти это обсуждение в списке пользователей Wicket полезным: DatePicker для выбора года . Жюльен Рош (один из владельцев проекта) утверждает, что setDateFormat
работает только на стороне клиента с JQuery:
Я думаю, вам нужно установить правильный конвертер в текстовом поле калитки (с помощью
переопределение метода getConverter и с классом
PatternDateConvert). Опция dateFormat работает только на стороне клиента
с помощью jQuery.