JBPM4基础篇04-设计请假流程,JBPM集成到Web Project
来源:互联网 发布:linux mysql命令大全 编辑:程序博客网 时间:2024/05/16 11:43
这次我们需要在Web项目中集成jbpm。在JSP页面上实现流程的发布和删除。
- 使用Eclipse创建一个Web项目,使用Tomcat6.0作为服务器。
- 添加依赖库(Jar包)。这里我仅将本次测试需要的必须的Jar包加进来。没有多余的。(经过严格的测试)
此外,start一个流程的时候还要用到juel-impl.jar
也可以直接把/jbpm-4.3/下的jbpm.jar和/jbpm4.3/lib/下的jar包全部复制进去,juel.jar中javax/el中的类与tomcat中的有冲突,把juel.jar中的javax/el删除即可。 - 将项目需要的一些XML和Properties文件加进来,放到工程的src目录下。(/jbpm-4.13/examples/src/)
- 创建一个请假流程文件leave.jpdl.xml
XML文件的内容为:<?xml version="1.0" encoding="UTF-8"?><process name="leave" xmlns="http://jbpm.org/4.3/jpdl"> <start g="199,100,48,48" name="start1"> <transition g="-47,-17" name="to 申请" to="申请"/> </start> <task assignee="wxp" g="178,190,92,52" name="申请"> <transition g="-71,-17" name="to 经理审批" to="经理审批"/> </task> <task assignee="manager" g="182,322,92,52" name="经理审批"> <transition g="-83,-17" name="to exclusive1" to="exclusive1"/> </task> <task assignee="boss" g="358,471,92,52" name="老板审批"> <transition g="406,571:-47,-17" name="to end1" to="end1"/> </task> <decision expr="#{day > 3 ? 'to 老板审批' : 'to end1'}" g="208,425,48,48" name="exclusive1"> <transition g="-47,-17" name="to end1" to="end1"/> <transition g="405,448:-71,-17" name="to 老板审批" to="老板审批"/> </decision> <end g="211,549,48,48" name="end1"/></process>
注意:这些配置可以使用插件在Eclipse中可视化操作。 - 新建一个index.jsp,创建流程引擎,创建流程服务,发布流程和删除流程。
<%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%><%@ page import="java.util.*,org.jbpm.api.*" %><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=GB18030"><title>Insert title here</title></head><body> <a href="index.jsp">refresh</a>| <a href="index.jsp?action=deploy">deploy</a><br /> <% ProcessEngine processEngine = Configuration.getProcessEngine(); // 创建一个流程引擎 RepositoryService repositoryService = processEngine.getRepositoryService(); // 创建一个流程服务 String action = request.getParameter("action"); // 接收指令 if ("deploy".equals(action)) { // 创建流程 repositoryService.createDeployment().addResourceFromClasspath("leave.jpdl.xml").deploy(); } else if ("remove".equals(action)) { // 删除流程 String deploymentId = request.getParameter("deploymentId"); repositoryService.deleteDeploymentCascade(deploymentId); } List<ProcessDefinition> list = repositoryService.createProcessDefinitionQuery().list(); // 获取流程列表 for(ProcessDefinition pd : list) { %> <%=pd.getId() %>,<%=pd.getName() %>,<%=pd.getVersion() %><a href="index.jsp?action=remove&deploymentId=<%=pd.getDeploymentId() %>">delete</a><br /> <% } %></body></html>
- JBPM4基础篇04-设计请假流程,JBPM集成到Web Project
- JBPM4基础篇04-设计请假流程,JBPM集成到Web Project
- JBPM4基础篇04-设计请假流程,JBPM集成到Web Project
- JBPM4基础篇05-设计请假流程,流程的发起,执行,驳回,监控web Demo
- JBPM4基础篇05-设计请假流程,流程的发起,执行,驳回,监控web Demo
- JBPM4基础篇-设计请假流程,流程的发起,执行,驳回,监控web Demo
- JBPM4基础篇05-设计请假流程,流程的发起,执行,驳回,监控web Demo
- JBPM学习(4):设计请假流程
- jbpm 通用流程设计,请假大家
- jbpm4.4请假流程
- jbpm4请假流程
- JBPM4—请假流程
- JBPM实现请假流程
- Jbpm4.4+hibernate3.5.4+spring3.0.4+struts2.1.8整合例子(附完整的请假流程例子,jbpm基础,常见问题解决)
- Jbpm4.4+hibernate3.5.4+spring3.0.4+struts2.1.8整合例子(附完整的请假流程例子,jbpm基础,常见问题解决)
- Jbpm4.4+hibernate3.5.4+spring3.0.4+struts2.1.8整合例子(附完整的请假流程例子,jbpm基础,常见问题解决)
- jbpm4.4 简单请假流程
- JBPM具体流程设计代码基础篇
- 例题5.3.1
- java中内存泄漏
- 设计模式(15) ------------模板方法模式
- db2创建索引原则
- hibernate的get和load区别
- JBPM4基础篇04-设计请假流程,JBPM集成到Web Project
- opensuse开启telnet服务
- java清空堆栈中的某个元素
- 数学求解之求出现次数最多的字母和次数
- Nand Flash and Nor flash
- 在安卓中获取一个城市的天气情况
- jquery uploadify插件
- 利用dex2jar和jd-gui反编译apk文件,得到其源代码!!
- lua面向对象编程之点号与冒号的差异详细比较