Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/357.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何使用推土机事件_Java_Dozer - Fatal编程技术网

Java 如何使用推土机事件

Java 如何使用推土机事件,java,dozer,Java,Dozer,我目前是推土机的新手。我能够使用MapK,V将我的excel文件完美地映射到java对象。问题是当我将“5000美元”从excel映射到java double/BigDecimal时,当然存在转换异常。我可以使用自定义转换器来更正数据,但id真正想做的是获取发生错误的“键”或“值”,并将其显示在页面上。用推土机可以吗?我研究了推土机事件,但它没有足够的资源或示例代码供我查看。谢谢您无法使用侦听器获取“键”和“值”,因为在抛出ConversionException之前执行的唯一侦听器方法是publ

我目前是推土机的新手。我能够使用MapK,V将我的excel文件完美地映射到java对象。问题是当我将“5000美元”从excel映射到java double/BigDecimal时,当然存在转换异常。我可以使用自定义转换器来更正数据,但id真正想做的是获取发生错误的“键”或“值”,并将其显示在页面上。用推土机可以吗?我研究了推土机事件,但它没有足够的资源或示例代码供我查看。谢谢

您无法使用侦听器获取“键”和“值”,因为在抛出
ConversionException
之前执行的唯一侦听器方法是
public void mappingStarted(DozerEvent arg0)
及其事件参数(
DozerEvent
)将为您提供源对象的实例,但不提供正在映射的
映射的元素

我认为,即使使用自定义转换器,也不可能获得映射元素的详细信息。您最好的选择是创建一个从
映射到
对象的自定义转换器,并使用
自定义转换器参数
传递要映射的属性的键。在转换器中,您必须处理值验证和映射