JBPM4.4学习之四:JUEL表达式应用

EL表达式

EL 全名为ExpressionLanguage,EL 语法很简单,它最大的特点就是使用上很方便。在JBPM的jar包中,也提供了对EL表达式的支持。JUEL

在流程实例xml文件中有时候我们需要动态的指定一些数据,这时候我们就能用到JUEL了。

将实体数据动态绑定到流程定义文件。不会EL表达式的同学先自己补充一下EL的知识。

 

首先看一下流程定义文件中是如何写的。

<?xml version="1.0"encoding="UTF-8"?>

 

<process key="test"name="test" xmlns="http://jbpm.org/4.4/jpdl">

   <start g="255,35,48,48" name="start1">

      <transition g="-63,-25"name="提交到科长" to="科长审批"/>

   </start>

   <task assignee="${user.kezhang}"g="230,148,92,52" name="科长审批">

      <transition g="-63,-25"name="提交到主任" to="主任审批"/>

   </task>

   <task assignee="${user.zhuren}"g="233,263,92,52" name="主任审批">

      <transition g="-62,-25"name="通过" to="end1"/>

   </task>

   <end g="259,379,48,48" name="end1"/>

</process>

 

 

看一下代码中如何操作:

/**

          * 创建流程实例,动态赋值负责人

          */

         @Override

         public voidcreateInstance() {

                   super.startUp();

                   Map<String,Object> map= new HashMap<String,Object>();

                   User user = newUser();

                   user.setKezhang("张三");

                   user.setZhuren("李四");

                   map.put("user",user);

                  

                   ProcessInstanceprocessInstance = executionService.startProcessInstanceByKey("test",map);

                   print("流程实例ID",processInstance.getId());

         }

 

PS:在采用实体模型进行动态赋值时,必须序列化实体模型,即实现序列化接口Serializable,否则JBPM会抛出异常。

         JUEL表达式和EL表达式几乎没有什么区别,只要用过EL表达式就可以忽略此篇了。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值