как использовать Dozer Event

В настоящее время я новичок в dozer. Я могу безупречно сопоставить свой файл excel с объектом java, используя карту K, V. проблема в том, что когда я сопоставляю «5000 долларов» из excel в java double/BigDecimal, конечно, есть исключение преобразования. Я могу использовать пользовательский конвертер для исправления данных, но мне действительно нравится получать «КЛЮЧ» или «ЗНАЧЕНИЕ», в котором возникает ошибка, и отображать его на странице. Возможно ли это с бульдозером? Я исследовал событие dozer, но у него недостаточно ресурсов или примеров кода, чтобы я мог проверить. Благодарность


person Char Padilla    schedule 02.08.2012    source источник


Ответы (1)


Вы также не можете получить «КЛЮЧ» и «ЗНАЧЕНИЕ» с помощью прослушивателя, потому что единственный метод прослушивателя, который выполняется до того, как будет выброшено ConversionException, — это public void mappingStarted(DozerEvent arg0), а его параметр события (DozerEvent) предоставит вы с экземпляром исходного объекта, но не с отображаемым элементом Map.

Я думаю, что даже с помощью пользовательских конвертеров невозможно получить подробную информацию о отображаемом элементе Map. Лучшим вариантом будет создать собственный преобразователь из Map в Object и использовать custom-converter-param для передачи ключа свойства, которое вы хотите сопоставить. В конвертере вам придется позаботиться о проверке и отображении значений.

person davidmontoyago    schedule 08.08.2012