UEL是java EE6规范的一部分,UEL(Unified Expression Language)即统一表达式语言,activiti支持两个UEL表达式:UEL-value和UEL-method。

流程示例:

条件表达式设置:

以上为uel-value String方式设置条件表达式,不仅仅可以是String类型,还可以是Object对象(序列化的),Map,List,Array。

再然后就是uel-method方式

1,设置节点的执行人为${method.getUserNameByUserId(userId)} ,其中method方法是我们注入到spring中的一个类,userId是我们设置的全局变量

2,将method方法注入到activiti的processEngineConfiguration的bean中(在我们的activiti.cfg.xml中)

3,启动一个流程设置全局变量userId作为启动参数,看看是否走到这个节点的处理人是我们method方法getUserNameByUserId返回的name

示例如采用uel-method方式实现逐级审批

审批节点上,设置assignee为表达式${humanService.getDirectLeader(currentOperator)}

图元解析

StartEvent,UserTask,ExlusiveGateway,UserTask,EndEvent;连线都是SequenceFlow

顺序流(SequenceFlow):主要用到Id,Name,Condition
Condition用于指定该顺序流表达式。

//代码模拟运行条件执行

((Condition)activity.getOutgoingTransitions().get(1).getProperty(BpmnParse.PROPERTYNAME_CONDITION)).evaluate(execution);

Activiti之条件表达式相关推荐

  1. 2021年大数据常用语言Scala(七):基础语法学习 条件表达式

    条件表达式 条件表达式就是if表达式,if表达式可以根据给定的条件是否满足,根据条件的结果(真或假)决定执行对应的操作.scala条件表达式的语法和Java一样. 有返回值的if 与Java不一样的是 ...

  2. 改善代码设计 —— 简化条件表达式(Simplifying Conditional Expressions)

    系列博客 1. 改善代码设计 -- 优化函数的构成(Composing Methods) 2. 改善代码设计 -- 优化物件之间的特性(Moving Features Between Objects) ...

  3. JAVA条件表达式的陷阱

    Map<String, Integer> map = new HashMap<String, Integer>();  map.put("count", n ...

  4. django 1.8 官方文档翻译:2-5-9 条件表达式

    条件表达式 New in Django 1.8. 条件表达式允许你在过滤器.注解.聚合和更新操作中使用 if ... elif ... else的逻辑.条件表达式为表中的每一行计算一系列的条件,并且返 ...

  5. shell中的条件表达式

    条件表达式返回的结果都为布尔型 真为1,假为0 条件测试的表达式 [expression] [[expression]] test expression 这三种条件表达式的效果是一样的 比较符 整数比 ...

  6. 【C语言探索之旅】 第一部分第六课:条件表达式

    内容简介 1.课程大纲 2.第一部分第六课:条件表达式 3.第一部分第七课预告:循环语句 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写三个游戏. ...

  7. python 条件表达式换行_Python基础语法 - LongKing-Xu的个人空间 - OSCHINA - 中文开源技术交流社区...

    python基础语法 一.标识符 在Python中,所有标识符可以包括英文.数字以及下划线(_),但不能以数字开头. 在Python中的标识符是区分大小写的. 在Python中以下划线开头的标识符是有 ...

  8. python条件表达式有哪几个_python条件表达式:多项分支,双向分支

    # ### 多项分支 ''' if 条件表达式1: code1 code2 elif 条件表达式2: code3 code4 elif 条件表达式3: code5 code6 else: code7 ...

  9. 重构——39以多态取代条件表达式(Replace Conditional with Polymorphism)

    以多态取代条件表达式(Replace Conditional with Polymorphism) 你手上有个条件表达式,它根据对象类型的不同而选择不同的行为:将这个条件表达式的每个分支放进一个子类内 ...

最新文章

  1. 设计-直接不等于简单
  2. 【Python】青少年蓝桥杯_每日一题_10.19_回文数和个数
  3. Eclipse6里面SSH整合说明
  4. leetcode :string字符串和数字
  5. jquery去掉数组最后一个元素_从数组中删除最后一项
  6. 【招聘(深圳)】迈瑞招.NET 开发Leader和PM
  7. 利用BBRSACryptor实现iOS端的RSA加解密
  8. ajax常见的status状态码
  9. Hbuilder开发HTML5 APP之图标和启动页制作
  10. 黑客攻防技术宝典web实战篇:工具web服务器习题
  11. [转]MySQL修改root密码的多种方法
  12. vue:ali 阿里矢量图库 ico
  13. java中.rtf文件变成文本文件
  14. 澳洲八大计算机专业读研条件,澳洲读研条件
  15. APP中使用UI交互设计动效的三个好处
  16. 基于中移物联网MQTT协议的ESP8266远程开机实例
  17. The bean ‘dataTokenMapper‘ could not be injected because it is a JDK dynamic
  18. ML:从工程化思维分析—机器学习团队十大角色的简介(背景/职责/产出物):产品经理、项目经理、业务咨询顾问、数据科学家、ML研究员、数据工程师、ML工程师、DevOps/软件开发/交付工程师
  19. 领导 - 如何培养您的团队的信心
  20. 【转】聊聊Greenplum的那些事

热门文章

  1. 《剑指Offer》栈队列全题——妙解思路,难度由浅入深
  2. 什么是加密数字货币 加密数字货币的发展前景
  3. 如何从Angular 5 App升级到Angular 6
  4. 如何看待2023届秋招形势?
  5. 智源研究院:开源开放让AI快速发展,要建设大模型时代的Linux | 中国AIGC产业峰会...
  6. 压缩bcd码转成字符串
  7. archlinux上安装TIM之后解决截图黑屏的问题
  8. 2024苏州大学计算机考研信息汇总
  9. 3D模型Cad格式免费在线转换
  10. 富军:8步搞定网络推广文案