您的位置:首页 > 产品设计 > UI/UE

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

2013-03-31 20:04 302 查看
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表达式就可以忽略此篇了。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: