【JBPM4】EL表达式的使用,实现JAVA与JPDL的交互
2014-03-03 09:20
309 查看
user.java实体类
private String kezhang;
private String zhuren;
/...完善set get 方法.../
创建流程实例
//创建流程引擎
ProcessEngine processEngine = Configuration.getProcessEngine();
//获得执行服务
ExecutionService executionService = processEngine.getExecutionService();
//创建流程变量
Map<String,Object> map = new HashMap<String,Object>();
User user = new User();
user.setKezhang("张三");
user.setZhuren("李四");
map.put("user", user);
//用KEY获取的实例为最新的流程实例
ProcessInstance processInstance = executionService.startProcessInstanceByKey("test",map);
print("流程实例ID",processInstance.getId());
JPDL中就可以得到map中user对象的属性值。
<?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>
private String kezhang;
private String zhuren;
/...完善set get 方法.../
创建流程实例
//创建流程引擎
ProcessEngine processEngine = Configuration.getProcessEngine();
//获得执行服务
ExecutionService executionService = processEngine.getExecutionService();
//创建流程变量
Map<String,Object> map = new HashMap<String,Object>();
User user = new User();
user.setKezhang("张三");
user.setZhuren("李四");
map.put("user", user);
//用KEY获取的实例为最新的流程实例
ProcessInstance processInstance = executionService.startProcessInstanceByKey("test",map);
print("流程实例ID",processInstance.getId());
JPDL中就可以得到map中user对象的属性值。
<?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>
相关文章推荐
- CMS内容管理系统开发- Java Web开发及发布实例(2)—使用JSP实现动态数据交互
- java使用多线程编程,实现socket服务器客户端交互
- Java 中使用rhno引擎,运行JavaScript脚本,实现变量的交互、引入、传递
- [整理]使用blazeds实现flex和java交互
- C# 与JAVA 的RSA 加密解密交互,互通,C#使用BouncyCastle来实现私钥加密,公钥解密的方法
- Java中使用socket实现客户端与服务端交互
- 使用Java实现面向对象编程--集合框架-->List接口
- java使用序列化实现深克隆
- 使用FusionChart实现数据库的动态数据交互
- Java中使用正则表达式实现字符串匹配
- mysql+java实现分页显示的例子使用limit
- 使用java实现简单QQ登录界面
- java实现ftp上传下载 使用FTPClient
- 使用Java技术在Cocoon中实现商业逻辑
- java中使用SimpleDateFormat实现字符串和日期的相互转换
- 使用Java实现简单串口通信
- Java中使用long类型实现精确的四则运算
- java操作Excel之POI(6)使用POI实现使用模板批量添加数据
- 使用Java并发包线程池和XML实现定时任务动态配置和管理
- 使用Java实现内部领域特定语言