我试图为每个"做一个嵌套的#34; (在我的骡子流中有一个)。 (生成的JAXB对象层次结构是Populations-> Population-> Person-> Relations-Relation) 然而,似乎我期望在我的第二个"每个"在那里,消息说有效载荷是整数类型的? 这是"计数器"?我怎样才能进入我的嵌套集合" Relations"在我的第二个循环?
<foreach collection="#[payload.getPopulations().getPopulationpost()]" doc:name="For Each"> <logger.... /> <db:insert> ..... </db:insert> <foreach collection="#[payload.getPersonpost().getRelations().getRelation()]" doc:name="For Each"> <logger ..../> </foreach> </foreach>
此致
***** EDIT ****** 我实际上认为问题出在我的第一个&#34; For Each&#34;我的有效负载由数据库中插入的记录数组成。我通过将有效负载设置为&#34; originalPayload&#34;来解决它。在进入第一个循环之前变量然后我选择在第二个循环中迭代该变量&#34;对于每个&#34;代替。
答案 0 :(得分:2)
foreach使用counterVariableName
变量来保持当前的迭代,如果你嵌套两个foreach会有冲突,尝试这样的事情:
<foreach collection="#[payload.getPopulations().getPopulationpost()]" doc:name="For Each">
<logger.... />
<db:insert>
.....
</db:insert>
<foreach collection="#[payload.getPersonpost().getRelations().getRelation()]" counterVariableName="nestedCounter" doc:name="For Each">
<logger ..../>
</foreach>
</foreach>