JBPM入门系列文章:
——————————————华丽分割线————————————————
以上流程图有三种情况:这样的话我们就不能用之前的三目运算符的方式来做判断了。现在我们使用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; //流程变量:一般是一个mapMap varMap = new HashMap (); //使用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.按道理的话会走坏学生的那条线。
执行完以上代码后。查看后台数据库表中的值