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表达式就可以忽略此篇了。
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表达式就可以忽略此篇了。
相关文章推荐
- 学习JS中的replace方法以及与正则表达式的结合应用
- ActionScript 3.0 学习(九) AS3 一个应用正则表达式替换字符串的例子
- 学习正则表达式在python中的应用
- jbpm4.4函数的应用
- JAVA基础学习之IP简述使用、反射、正则表达式操作、网络爬虫、可变参数、了解和入门注解的应用、使用Eclipse的Debug功能(7)
- IOS 基础学习 (4)-----正则表达式的应用
- Linux学习记录--正则表达式与其应用
- Qt QRegExp正则表达式学习及应用
- 正则表达式学习笔记005--脱字符和美元符的认识与应用
- JBPM 4.4 学习笔记01----基本步骤
- Java学习笔记之正则表达式(二):正则表达式的应用
- 我的php学习笔记(三十四)PHP中正则表达式学习及应用(二)
- 正则表达式学习笔记006--转义符的认识与应用
- JBPM4.4学习
- 我的php学习笔记(三十五)PHP中正则表达式学习及应用(三)
- jbpm4.4学习总结(四)请假流程
- jbpm4.4学习总结(一)搭建环境、jpdl流程图
- 【java学习】正则表达式的应用
- Linux学习记录--正则表达式与其应用 推荐
- 算法学习记录-栈的应用--表达式运算