对象 | 作用域 | 说明 |
|---|---|---|
| 全局 | 当前执行实例,最常用 |
| 用户任务 | 仅在任务监听器或分配中可用 |
| 全局 | 当前登录用户 ID(需提前设置) |
execution.processInstanceId // 流程实例 ID
execution.id // 执行 ID
execution.currentActivityId // 当前节点 ID
execution.processInstanceBusinessKey // 业务主键
execution.tenantId // 租户 ID
execution.parentId // 父执行 ID(子流程)
execution.superExecutionId // 调用活动的父流程 IDexecution.variable('name') // 获取变量
execution.variables // 所有变量(Map)
execution.setVariable('key', value) // 设置变量(在监听器中)task.id // 任务 ID
task.assignee // 受理人
task.name // 任务名称
task.createTime // 创建时间
task.dueDate // 到期时间
task.priority // 优先级(0-100)
task.owner // 任务所有者
task.taskDefinitionKey // 任务定义 Key变量 | 说明 |
|---|---|
| 总实例数 |
| 活跃实例数 |
| 已完成实例数 |
| 当前索引(从 0 开始) |
<completionCondition>${nrOfCompletedInstances >= 2}</completionCondition>
<completionCondition>${nrOfCompletedInstances / nrOfInstances >= 0.6}</completionCondition>服务 | 用途 | 示例 |
|---|---|---|
| 启动流程、查询执行 |
|
| 操作任务 |
|
| 查询历史 |
|
| 用户/组查询 |
|
类型 | 示例 |
|---|---|
自定义服务 |
|
规则引擎 |
|
工具类 |
|
静态方法 |
|
✅ 要求:Bean 必须注册到 Spring 容器。
<userTask flowable:assignee="${approver}"/>
<userTask flowable:candidateUsers="${user1, user2}"/>
<userTask flowable:candidateGroups="${roleService.getGroups(dept)}"/><userTask flowable:dueDate="${DateUtils.addBusinessDays(createDate, 5)}"/><conditionExpression>${amount > 10000}</conditionExpression>
<conditionExpression>${status == 'APPROVED' && urgency == 'HIGH'}</conditionExpression><serviceTask flowable:expression="${orderService.process(execution.processInstanceId)}"/><flowable:executionListener event="start" expression="${logger.info('流程启动')}"/>
<flowable:taskListener event="complete" expression="${notification.send(task.assignee)}"/><boundaryEvent>
<timerEventDefinition>
<timeDuration>${timeoutDuration}</timeDuration>
</timerEventDefinition>
</boundaryEvent><flowable:formProperty id="total" value="${execution.variable('amount') * 1.1}"/>项目 | 建议 |
|---|---|
性能 | 避免在表达式中执行远程调用或复杂计算 |
空安全 | 使用 |
默认值 |
|
日志调试 |
|
安全 | 禁止拼接用户输入:❌ |
可读性 | 复杂逻辑封装到 Spring Bean |
场景 | 表达式 |
|---|---|
动态审批人 |
|
高额审批路由 |
|
基于历史判断 |
|
设置发起人 |
|
任务完成通知 |
|
日期计算 |
|
✅ 使用建议:
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。