jBPMDecision中使用Expression来进行流程分支选择 jbpm6 web流程设计器

通常,在Decision中通过实现DecisionHandler接口的Handler类来进行 分支选择.
除此之外,还可以Decision中还可以使用expression_r(表达式).
Expression类似JSP中的EL表达式,不同之处是EL是${...},而Expression是#{...}的.除了使用在Decision中,还可以使用在
Action,assingments中.具体的语法可以参考这里http://java.sun.com/j2ee/1.4/docs/tutorial/doc/JSPIntro7.html
在jBPM中,jBPM中的流程变量,任务变量都可以被Expression访问到.这个Expression必须返回一个String类型的值,这个值对应Decision可选的分支中的一个分支的name.
下面通过一个例子来看看如何在Decision中使用Expression表达式
流程定义文件:
<?xml version="1.0"encoding="UTF-8"?>
<process-definition
xmlns="urn:jbpm.org:jpdl-3.1"name="decproc">
<start-statename="start">
<task name="task">
<controller>
<variable name="var1" access="read,write,required"mapped-name="变量1"></variable>
</controller>
</task>
jBPMDecision中使用Expression来进行流程分支选择 jbpm6 web流程设计器
<transition name=""to="判断"></transition>
</start-state>
<decisionname="判断"expression="#{var1>10?'tr1':'tr2'}">
<transition name="tr1"to="判断为真"></transition>
<transition name="tr2"to="判断为假"></transition>
</decision>
<task-nodename="判断为真">
<taskname="task1"></task>
<transition name=""to="end1"></transition>
</task-node>
<task-nodename="判断为假">
<taskname="task1"></task>
<transition name=""to="end1"></transition>
</task-node>
<end-statename="end1"></end-state>
</process-definition>

expression="#{var1>10?'tr1':'tr2'}"的意思就是如果任务变量的值大于10,则流程从"tr2"分支流向"判断为真"的节点去;如果小于10,则从"tr1"分支流向"判断为假"节点去
启动这个流程,给var1赋一个类型为Integer(或者其他数值类型)的值,decision就可以根据var1的值,自动地选择分支了.

  

爱华网本文地址 » http://www.aihuau.com/a/25101016/317216.html

更多阅读

如何在微信中使用滴滴打车 微信滴滴怎么付款

如何在微信中使用滴滴打车——简介如今,滴滴打车手机软件大大的方便了我们的出行,使得我们随时随地都可以告诉出租车我们的需求,实现快速的响应。这无疑大大的提高了我们的出行效率,方便了我们的生活。小编在此教大家如何利用简单的利用

怎么在word中添加箭头等框架流程符号? 精 流程图箭头

怎么在word中添加箭头等框架流程符号? 精——简介办公过程中经常会使用WORD工具制作文本,初入职场的你还在简单敲一堆又一堆的字儿就上交领导吗?怎样让你的文本更生动立体呢?今天小编给大家分享一下,在word文档中添加箭头框架等流程符号

在Win7系统中使用Readyboost加速 win7系统加速器

在Win7系统中使用Readyboost加速——简介ReadyBoost是Vista系统开始加入的重要新功能之一,而在win7系统中这项功能得到了进一步的增强,并且实用性更佳。ReadyBoost利用了闪存随机读写及零碎文件读写上的优势来提高系统性能,主要是为了

怎么使用ping命令进行连通性测试 精 测试网络连通性的命令

ping 命令有助于验证网络层的连通性!一般进行网络故障排除时,可以使用ping 命令向目标计算机或IP地址发送ICMP回显请求,目标计算机会返回回显应答,如果目标计算机不能返回回显应答,说明在源计算机和目标计算机之间的网路存在问题,需要进

声明:《jBPMDecision中使用Expression来进行流程分支选择 jbpm6 web流程设计器》为网友稳住情场分享!如侵犯到您的合法权益请联系我们删除