jbpm的包中提供了显示流程图所用的三个主要文件。可通过 jbpm-starters-kit-3.1.x得到。分别是\jbpm\src\java.webapp\org\jbpm\webapp\tag\ProcessImageTag.java、\jbpm\build\jbpm.war.dir\WEB-INF,和\jbpm\src\java.webapp\org\jbpm\webapp\servlet\ ProcessImageServlet.java。在JBPM的例子里,这三个文件共同完成JBPM流程图的显示。
步骤:
(1)在web.xml中配置servlet。我的例子中,把servlet放在了demo.workflow.servlet包中,故在web.xml中配置如下:
<servlet>
<servlet-name>processImageServlet</servlet-name>
<servlet-class>demo.workflow.servlet.ProcessImageServlet</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>processImageServlet</servlet-name>
<url-pattern>/processimage</url-pattern>
</servlet-mapping>
(2)将jbpm.tld文件拷贝到web-inf下。引入 \ProcessImageTag.java文件并在jbpm.tld中配置。我将 ProcessImageTag.java放在demo.workflow.tag包中,故而在jbpm.tld中将<tagclass>标签修改如下:
<tagclass>demo.workflow.tag.ProcessImageTag</tagclass>
(3)建立显示流程图的页面process-img.jsp。代码如下(注意引入了jbpm标签文件):
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="/WEB-INF/jbpm.tld" prefix="jbpm" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
<%
long tokenId=Long.parseLong(request.getParameter("tokenId"));
%>
<jbpm:processimageToken token="<%=tokenId %>"/>
</body>
</html>
------------------------------------------------------------------
(4)在主页中建立对process-img.jsp的引用。注意要给出tokenId这个参数。在href中加入变量的方法是直接用 =<%=id%>的方式。
<a href="/TestJbpm/process-img.jsp?tokenId=<%=id%>">查看流程</a>
运行时点击查看流程就看到标记了执行位置的流程图了。
基本原理:发布流程时,共发布了三个文件,definition、gpd和一个image图片。其中,gpd是各结点的位置信息。图片保存在jbpm_byteblock表中,其他图片信息保存在jbpm_bytearray表中。显示流程图时,首先从表中把image取出,作为背景,然后利用gpd中的结点位置信息在背景图上画上红框。
注意:要用到jaxen.jar包。
分享到:
相关推荐
本主题将详细介绍如何将jbpm流程图显示在JSP(JavaServer Pages)页面上,这涉及到jbpm的图像标签库(taglib)和`web.xml`配置文件的使用。 首先,jbpm提供的图像标签库允许开发者在JSP页面中直接嵌入流程图。`jbpm...
【jbpm流程图状态显示】是关于jbpm工作流管理系统中的一个重要话题,它涉及到如何在图形界面中实时呈现流程实例的状态。jbpm是一款开源的工作流管理系统,它允许开发者设计、执行和管理业务流程。在jbpm中,流程图是...
在本文中,我们将深入探讨如何实现jbpm流程的监控,以便于更好地理解和优化业务流程。 首先,理解jbpm流程监控的核心概念至关重要。jbpm提供了Process Instance的概念,代表了流程的一个实例。每个实例都是基于特定...
jbpm_pic这个文件可能包含了一些示例流程图或者截图,用于辅助理解jBPM4如何显示执行位置。这些图片可能展示了不同阶段的流程实例状态,比如初始状态、执行中的任务以及已完成的任务。 在实际应用中,这种功能对于...
jbpm designer (基于web的图形化流程设计工具)
在文件列表中的"miniui_java"可能是一个用于展示流程UI的前端库或框架,它可以帮助开发者快速构建用户界面,与JBPM后端服务进行交互,展示任务列表、启动流程实例、显示流程图等。 总的来说,JBPM工作流DEMO提供了...
jBPM4提供了一个图形化的流程建模工具,可以创建和编辑流程图。这些流程图随后会被编译成XML格式的BPML文件,用于在系统中执行。 "extjs jbpm4流程设计器"将这两者结合,利用ExtJS的强大UI能力,为jBPM4的流程定义...
JBPM利用直观的流程语言,如任务、异步等待状态、定时器、自动化动作等,来构建业务流程图,这些元素共同构成了强大的控制流机制。由于是用Java语言开发的,JBPM可以被封装成Web服务,允许第三方应用进行调用。它的...
TaskNode在流程图中表示一个任务节点,通常用于分配工作项给用户或角色。在这里,我们将其配置为不自动创建任务(create-tasks="false"),并且设置信号类型为"last-wait"。这意味着只有当所有子流程都完成时,...
"JBPM工作流实战_流程定义文件的上传处理视频 03"这一主题主要关注如何在实际操作中处理JBPM流程定义文件的上传,这在构建业务流程自动化系统时是非常关键的步骤。 首先,流程定义文件是JBPM工作流的核心组成部分,...
这个模块可能包括用于显示流程图、提交流程请求、查看流程状态等功能的页面。同时,它也可能包含了Spring Security的配置,用于控制用户访问权限。 总的来说,SSH+jbPM4.4 Demo是一个综合性的示例,展示了如何将...
JBOSS jBPM是一个强大的、可扩展的工作流管理系统,它以直观的流程语言为核心,利用任务、异步等待状态、定时器和自动化动作等元素来构建业务流程图,实现了灵活的控制流机制。由于其依赖性最小,可以像使用Java库...
2. **工作流设计**:jbpm4通过流程图(Process Diagram)来定义工作流,包括任务(Task)、事件(Event)、网关(Gateway)等元素,以及它们之间的流转规则。在请假实例中,可能会涉及到请假申请、审批、驳回等不同...
- **节点与连接**: 流程图中的节点表示流程的步骤,连接则表示步骤之间的转移条件。 2. **jbpm4.4 API 使用** - **ProcessEngine**: jbpm的核心组件,负责流程的生命周期管理,如启动、暂停、继续和结束流程。 -...
- **流程定义**: jbPM5使用BPMN2.0标准定义流程,通过图形化工具创建流程图,直观易懂。 - **任务管理**: 支持用户任务、服务任务、脚本任务等多种任务类型,实现业务逻辑的执行。 - **流程实例**: 当流程定义被...
在这个请假流程中,jbpm工具被用来绘制流程图,尽管中文显示可能出现乱码,但不影响流程的理解。流程图中的各个节点和转换代表了不同的状态和决策。 在`leave.jpdl.xml`文件中,我们可以看到流程的具体定义。XML...
4. **workflow.JPG** - 可能是一个流程图,展示jBPM4中的工作流实例,帮助开发者理解和跟踪流程执行。 5. **FillLeaveForm.jsp** - 这是一个JSP(Java Server Pages)文件,可能用于员工填写请假申请的界面,用户...