详情请参见:官方文档
Activiti 使用 UEL 来进行表达式的解析。UEL 代表统一表达式语言,是EE6规范的一部分。
表达式可以用于以下:
- Java Service tasks
- Execution Listeners
- Task Listeners
- Conditional sequence flows
值表达式:
解析值。默认情况下,不仅可以任意调用所有的流程变量,如果在使用Spring的前提下,还可以在表达式中任意调用所有的bean,例子如下:
- 调用流程变量 :
${value}
- 调用Spring 中的bean :
${bean.property}
方法表达式
调用有参或者无参的方法来进行表达式的结果判断。注意:当调用无参的方法的时候,一定要在方法名字之后添加空的括号,用来区分无参方法表达式和值表达式。 传递的参数可以是字面值或者自己解析的表达式,例子如下:
这些表达式支持解析基本数据类型、bean、List、数组 以及 Map。${printer.print()}
${myBean.addNewOrder('orderName')}
${myBean.doSomething(myVar, execution)}
除了所有的流程变量之外,下面是一些可以在表达式中使用的默认对象:
execution :DelegateExecution 保存着正在执行的额外信息。
task : DelegateTask 保存着当前任务的额外信息。只作用在 task Listeners 的表达式运算当中。
authenticatedUserId : 当前被授权的用户的Id,如果没有被授权的用户,则变量不可用。