Flowable API 表达式

本文深入探讨了Flowable工作流引擎中的表达式机制,包括UEL(Unitied Expression Language)的使用,值表达式与方法表达式的区别,以及如何在Java服务任务、执行监听器等场景下应用这些表达式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Flowable API 表达式

 

Flowable使用UEL进行表达式解析。UEL代表Unitied Expression Language,是EE6规范的一部分。

 

表达式可以用于Java服务任务(Java ServiceTask)、执行监听器(Execution Listener)、任务监听器(Task Listener)与条件顺序流(Conditional sequence flow)等。尽管有值表达式与方法表达式这两种不同的表达式,Flowable通过抽象,使它们都可以在需要表达式的地方使用。

 

  • 值表达式Value expression:解析为一个值。默认情况下,所有流程变量都可以使用。(若使用Spring)所有的Spring Bean也可以用在表达式里。例如:

${myVar}

${myBean.myProperty}

  • 方法表达式Method expression:调用一个方法,可以带或不带参数。当调用不带参数的方法时,要确保在方法名后添加空括号(以避免与值表达式混淆)。传递的参数可以是字面值(literal value),也可以是表达式,它们会被自动解析。例如:

${printer.print()}

${myBean.addNewOrder('orderName')}

${myBean}

 

请注意,表达式支持解析(及比较)原始类型(primitive)、bean、array与map。

Note that these expressions resolving primitives (including comparing them), beans, lists, arrays and maps.

 

除了所有流程变量外,还有一些默认对象可在表达式中使用:

  • expression: DelegateExecution +,持有正在运行的执行的额外信息。
  • task:DelegateTask持有当前任务的额外信息。请注意:只在任务监听器的表达式中可用。
  • authenticatedUserId:当前验证的用户id。如果没有已验证的用户,该变量不可用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值