JBPM4之decision节点:2、好学生|坏学生|超级学生
JBPM入门系列文章:
JBPM4入门——2.在eclipse中安装绘制jbpm流程图的插件
JBPM4入门——4.封装流程管理的工具类(JbpmUtil)
——————————————华丽分割线————————————————
以上流程图有三种情况:这样的话我们就不能用之前的三目运算符的方式来做判断了。
现在我们使用decision节点本身的expr属性来做判断!!
流程图的Expression的表达式
注意:如果修改了流程图的话需要重新发布一下该流程图。让它自动寻找最新版本
后台测试代码如下:
package com.test.test; import java.util.HashMap; import java.util.Map; import com.test.util.JbpmOprations; import com.test.util.JbpmUtil; public class DecisionTest { public static void main(String[] args) { //发布decision节点的流程定义 JbpmOprations.deploy("jpdl/decision01.jpdl.xml"); Integer score = 44; //流程变量:一般是一个map<String,Object> Map<String,Object> varMap = new HashMap<String,Object>(); //使用decision的expr属性来做判断的话。本身就是一个流程判断 if(score<60 && score > 0){ varMap.put("tname", "to state2"); }else if(score > 60 && score < 100){ varMap.put("tname", "to state1"); }else{ varMap.put("tname", "to supper student"); } //启动该流程实例:并绑定流程局部变量varMap JbpmUtil.getExecutionService() .startProcessInstanceByKey("decision01", varMap); } }
以上代码已经设置了score的值为44.按道理的话会走坏学生的那条线。
执行完以上代码后。查看后台数据库表中的值