moqui中的<transition>标签问题

时间:2015-06-11 05:15:57

标签: moqui

<transition name="abc">
<actions>
<if condition="update != null">
<service-call name="update#someEntity"/>
</if>
</actions>
<default-response url="."/>
</transition>

以上代码不起作用。也就是说,如果我放置了日志语句,它会在块中进入,但更新不会发生在数据库实体中。还验证了所有params / values / p.keys等都使用FORM中的适当值正确传递,这会在提交时调用此转换。

注意到的另一件事是,它在下面改变时工作得很好(即在转换中只有一个服务调用元素,并且在屏幕/其他地方的任何地方都没有对任何其他代码进行任何更改):

<transition name="abc">
<service-call name="update#someEntity"/>
<default-response url="."/>
</transition>

对此有任何指导吗?

1 个答案:

答案 0 :(得分:1)

使用Moqui制作应用程序解释了在过渡元素下直接使用服务调用而不是内部操作时的差异。

通过直接在过渡元素下进行服务调用,它假定您希望使用“上下文”作为地图内和外图,除非您指定不同的内容。

正常情况下(即在操作中),service-call元素不会假设这一点,没有意义不指定你想要传递给服务的内容(在映射中),这将是非常令人困惑的默认情况下,服务输出已添加到上下文中。

要修复您的第一个代码示例,您需要添加in-map,如果需要,还需要添加out-map属性,即:

<service-call name="update#someEntity" in-map="context" out-map="context"/>

那应该解决它。