В настоящее время я новичок в dozer. Я могу безупречно сопоставить свой файл excel с объектом java, используя карту K, V. проблема в том, что когда я сопоставляю «5000 долларов» из excel в java double/BigDecimal, конечно, есть исключение преобразования. Я могу использовать пользовательский конвертер для исправления данных, но мне действительно нравится получать «КЛЮЧ» или «ЗНАЧЕНИЕ», в котором возникает ошибка, и отображать его на странице. Возможно ли это с бульдозером? Я исследовал событие dozer, но у него недостаточно ресурсов или примеров кода, чтобы я мог проверить. Благодарность
как использовать Dozer Event
Ответы (1)
Вы также не можете получить «КЛЮЧ» и «ЗНАЧЕНИЕ» с помощью прослушивателя, потому что единственный метод прослушивателя, который выполняется до того, как будет выброшено ConversionException
, — это public void mappingStarted(DozerEvent arg0)
, а его параметр события (DozerEvent
) предоставит вы с экземпляром исходного объекта, но не с отображаемым элементом Map
.
Я думаю, что даже с помощью пользовательских конвертеров невозможно получить подробную информацию о отображаемом элементе Map. Лучшим вариантом будет создать собственный преобразователь из Map
в Object
и использовать custom-converter-param
для передачи ключа свойства, которое вы хотите сопоставить. В конвертере вам придется позаботиться о проверке и отображении значений.
person
davidmontoyago
schedule
08.08.2012