首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 开源软件 >

jbpm的流程图展示

2012-06-26 
jbpm的流程图显示jbpm的包中提供了显示流程图所用的三个主要文件。可通过 jbpm-starters-kit-3.1.x得到。分

jbpm的流程图显示

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包。

热点排行