Apache Camel Dozer Expresison Mapping

时间:2015-12-12 12:32:19

标签: java apache-camel dozer

我尝试使用Apache Camel和Dozer映射将一个类映射到另一个类。

在我的路线中,我在一个属性中保存了一个类的对象,比如.setProperty("test", testClass)。现在我想从这个属性中获取类对象并将其映射到新类的字段。

camel推土机文档Camel Dozer表示可以将表达式映射到字段。如果我试图将该属性的值映射到相应的字段,我将始终null作为值。

这就是我试图获取财产价值的方式

<field custom-converter-id="_expressionMapping" custom-converter-param="simple:${exchangeProperty.test}">
    <a>expression</a>
    <b>targetField</b>
</field>

有可能这样做吗?

1 个答案:

答案 0 :(得分:0)

就在我的头顶,看着文档,你可能只是在“$”符号前面错过了一个'\':

<field custom-converter-id="_expressionMapping" 
    custom-converter-param="simple:\${exchangeProperty.test}">
  <a>expression</a>
  <b>targetField</b>
</field>

我认为它甚至在documentation

的最后特别提到
  

请注意,表达式中的任何属性都必须使用“\”进行转义,以防止Dozer尝试解析使用EL定义的变量值时出现错误。