我正在尝试在状态小部件中使用StatusFlowTransition实体的'conditionExpression'字段。
但我认为你不能在Moqui的条件下扩展说$ {statusTransition.conditionExpression}?
如何使用conditionExpression字段?
e.g。
<widgets>
<link url="${statusChangeTransition ?: 'updateStatus'}" text="StatusTransitionNameTemplate" text-map="statusTransition" parameter-map="[statusId:statusTransition.toStatusId]" condition="${statusTransition.conditionExpression}" />
</widgets>
答案 0 :(得分:1)
您问题的关键部分是:如何评估变量中的Groovy表达式?您可以使用Groovy API直接执行此操作,但最简单和最有效(因为已编译的表达式被缓存)这样做的方法是使用ResourceFacade.condition()方法,即:
<link ... condition="ec.resource.condition(statusTransition.conditionExpression, '')"/>
第二个参数是调试位置,可以为空。使用conditionExpression时,保持条件简单并仅使用始终可用的上下文字段非常重要。您还可以将第三个参数传递给condition()方法,该方法是一个Map,其中包含要在conditionExpression中使用的字段以及当前上下文中的字段。