Moqui - 发出保留/传递URL参数的问题

时间:2015-04-22 16:13:45

标签: moqui

我在Github上提到了类似的问题(问题#18),但没有任何对我有用。

我正在尝试使用以下转换/服务:

<transition name="storeContactInfo">
    <service-call name="mantle.party.ContactServices.store#PartyContactInfo" in-map="context" out-map="context" />
    <default-response url="." />
</transition>

屏幕的url参数是workEffortId,但一旦转换运行,它就会从网址中删除。

我也试过,但无济于事:

<transition name="storeContactInfo">
    <path-parameter name="workEffortId"/>
    <service-call name="mantle.party.ContactServices.store#PartyContactInfo" in-map="context" out-map="context" />
<default-response url="." >
    <parameter name="workEffortId" from="workEffortId" />
</default-response>
</transition>

我还尝试添加动作标记,我看到之前解决了这个问题。但那也没有用。

我的其他屏幕转换工作正常。那里还有问题,还是我做错了什么?

我使用的是1.5.1。

更新:我认为问题出在我正在做的事情而不是之前的问题#18。

仔细查看通过的地图和值后,似乎有一些重要的理解 - 通过将#PartyContactInfo演变为StupidUtilities.flattenNestedMap(使用传入Map中的字段和所有嵌套地图创建单个Map)从Map中删除带有空值的条目到存储在我的转换中调用的#PartyContactInfo,它利用传递的多个条件来驱动PartyForms.xml#ContactInfo。

我试图从第一次服务电话中直接传递值:

<set field="partyId" from="facility.ownerPartyId" />
<service-call name="mantle.party.ContactServices.get#PartyContactInfo" out-map="projectSiteContactInfo" in-map="[partyId:partyId, workEffortId:workEffortId, postalContactMechPurposeId:'PostalShippingDest', telecomContactMechPurposeId:'PhoneShippingDest', emailContactMechPurposeId:'EmailShippingDest']" />

...一路走来,但由于某种原因,它不会从另一边出来。

1 个答案:

答案 0 :(得分:0)

解决方案是在转换前在容器对话框中调用的/mantle-usl/template/party/PartyForms.xml#ContactInfo小部件组件中添加一个workEffortId字段(隐藏)。

我添加后可以看到:

<parameter name="workEffortId" value="${workEffortId}" />

到了转换,workEffort确实是null,因此必须在某个地方被剥离。

将workEffortId添加到ContactInfo表单解决了问题。