Я внимательно изучил запись Джоника о настройке форматирования BigDecimal в Wicket. Спасибо за этот отличный кусок кода. К сожалению, я не могу заставить его работать в моем случае использования.
Я хочу зарегистрировать форматирование даты глобально и использую следующий код в подклассе приложения:
@Override
protected IConverterLocator newConverterLocator() {
ConverterLocator converterLocator = new ConverterLocator();
converterLocator.set(Date.class, new DateConverter() {
@Override
public DateFormat getDateFormat(Locale ignore) {
return new SimpleDateFormat("dd.MM.yyyy HH:mm:ss");
}
});
return converterLocator;
}
Тогда при использовании полей даты на веб-страницах код выглядит следующим образом:
form.add(new TextField<Date>("dateField"));
При отображении в полях даты отображается стандартное форматирование java.text.DateFormat.SHORT
(02.11.11 11:59), исходящее из класса org.apache.wicket.util.convert.converter.DateConverter
вместо моего пользовательского SimpleDateFormat (02.11.2011 11:59:42).
Я проверил, что java.util.Date используется повсеместно. Версия калитки 1.4.12.
Есть идеи?