Activiti之条件表达式
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之条件表达式相关推荐
- 2021年大数据常用语言Scala(七):基础语法学习 条件表达式
条件表达式 条件表达式就是if表达式,if表达式可以根据给定的条件是否满足,根据条件的结果(真或假)决定执行对应的操作.scala条件表达式的语法和Java一样. 有返回值的if 与Java不一样的是 ...
- 改善代码设计 —— 简化条件表达式(Simplifying Conditional Expressions)
系列博客 1. 改善代码设计 -- 优化函数的构成(Composing Methods) 2. 改善代码设计 -- 优化物件之间的特性(Moving Features Between Objects) ...
- JAVA条件表达式的陷阱
Map<String, Integer> map = new HashMap<String, Integer>(); map.put("count", n ...
- django 1.8 官方文档翻译:2-5-9 条件表达式
条件表达式 New in Django 1.8. 条件表达式允许你在过滤器.注解.聚合和更新操作中使用 if ... elif ... else的逻辑.条件表达式为表中的每一行计算一系列的条件,并且返 ...
- shell中的条件表达式
条件表达式返回的结果都为布尔型 真为1,假为0 条件测试的表达式 [expression] [[expression]] test expression 这三种条件表达式的效果是一样的 比较符 整数比 ...
- 【C语言探索之旅】 第一部分第六课:条件表达式
内容简介 1.课程大纲 2.第一部分第六课:条件表达式 3.第一部分第七课预告:循环语句 课程大纲 我们的课程分为四大部分,每一个部分结束后都会有练习题,并会公布答案.还会带大家用C语言编写三个游戏. ...
- python 条件表达式换行_Python基础语法 - LongKing-Xu的个人空间 - OSCHINA - 中文开源技术交流社区...
python基础语法 一.标识符 在Python中,所有标识符可以包括英文.数字以及下划线(_),但不能以数字开头. 在Python中的标识符是区分大小写的. 在Python中以下划线开头的标识符是有 ...
- python条件表达式有哪几个_python条件表达式:多项分支,双向分支
# ### 多项分支 ''' if 条件表达式1: code1 code2 elif 条件表达式2: code3 code4 elif 条件表达式3: code5 code6 else: code7 ...
- 重构——39以多态取代条件表达式(Replace Conditional with Polymorphism)
以多态取代条件表达式(Replace Conditional with Polymorphism) 你手上有个条件表达式,它根据对象类型的不同而选择不同的行为:将这个条件表达式的每个分支放进一个子类内 ...
最新文章
- 设计-直接不等于简单
- 【Python】青少年蓝桥杯_每日一题_10.19_回文数和个数
- Eclipse6里面SSH整合说明
- leetcode :string字符串和数字
- jquery去掉数组最后一个元素_从数组中删除最后一项
- 【招聘(深圳)】迈瑞招.NET 开发Leader和PM
- 利用BBRSACryptor实现iOS端的RSA加解密
- ajax常见的status状态码
- Hbuilder开发HTML5 APP之图标和启动页制作
- 黑客攻防技术宝典web实战篇:工具web服务器习题
- [转]MySQL修改root密码的多种方法
- vue:ali 阿里矢量图库 ico
- java中.rtf文件变成文本文件
- 澳洲八大计算机专业读研条件,澳洲读研条件
- APP中使用UI交互设计动效的三个好处
- 基于中移物联网MQTT协议的ESP8266远程开机实例
- The bean ‘dataTokenMapper‘ could not be injected because it is a JDK dynamic
- ML:从工程化思维分析—机器学习团队十大角色的简介(背景/职责/产出物):产品经理、项目经理、业务咨询顾问、数据科学家、ML研究员、数据工程师、ML工程师、DevOps/软件开发/交付工程师
- 领导 - 如何培养您的团队的信心
- 【转】聊聊Greenplum的那些事