例如,我有一个可以立即启动或延迟启动的工作流(startTime
变量)。
在 startEvent
之后,我有一个 exclusiveGateway
,我在其中检查流程是否应该继续或等到 startTime
。
<exclusiveGateway id="startGateway" default="startSequenceFlow3"/>
<sequenceFlow id="startSequenceFlow1" sourceRef="startGateway" targetRef="startTimer">
<conditionExpression xsi:type="tFormalExpression"><![CDATA[${startTime != null}]]></conditionExpression>
</sequenceFlow>
启动工作流传递变量 startTime
工作正常,但不传递 startTime
会引发异常:
Cannot resolve identifier 'startTime'
检查 startTime
是否已设置的最佳方法是什么,因为 startTime != null
不起作用?我宁愿根本不传递 startTime
(不是 startTime=null
)。
我使用的代码包括变量:
variables.put("startTime", startTime);
ProcessInstance instance = runtimeService.startProcessInstanceByKey(processKey, variables);
或没有:
ProcessInstance instance = runtimeService.startProcessInstanceByKey(processKey, variables);
最佳答案
使用以下表达式:
${execution.getVariable('startTime') != null}
关于java - 在 Activiti 中,如何检查是否设置了变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37547365/