SSH------------------部署流程并显示流程列表数据

1、

2、jsp

发布新流程 jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="s"%>    
<!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=UTF-8">
<title>流程定义文件上传</title>
<!-- 导入jquery核心类库 -->
<script type="text/javascript"
   src="${pageContext.request.contextPath }/js/jquery-1.8.3.js"></script>
<!-- 导入easyui类库 -->
<link rel="stylesheet" type="text/css"
   href="${pageContext.request.contextPath }/js/easyui/themes/default/easyui.css">
<link rel="stylesheet" type="text/css"
   href="${pageContext.request.contextPath }/js/easyui/themes/icon.css">
<link rel="stylesheet" type="text/css"
   href="${pageContext.request.contextPath }/js/easyui/ext/portal.css">
<link rel="stylesheet" type="text/css"
   href="${pageContext.request.contextPath }/css/default.css">    
<script type="text/javascript"
   src="${pageContext.request.contextPath }/js/easyui/jquery.easyui.min.js"></script>
<script type="text/javascript"
   src="${pageContext.request.contextPath }/js/easyui/ext/jquery.portal.js"></script>
<script type="text/javascript"
   src="${pageContext.request.contextPath }/js/easyui/ext/jquery.cookie.js"></script>
<script
   src="${pageContext.request.contextPath }/js/easyui/locale/easyui-lang-zh_CN.js"
   type="text/javascript"></script>
</head>
<body>
<s:form action="processDefinitionAction_deploy" theme="simple" method="post" enctype="multipart/form-data" id="uploadForm">
   <table class="table-edit" width="100%" >
      <tr class="title"><td colspan="2">发布新流程</td></tr>
      <tr>
         <td width="200">浏览流程定义zip压缩文件</td>
         <td>
            <input type="file" name="zipfile" />
         </td>
      </tr>
      <tr>
         <td colspan="2">
            <a id="btn" href="javascript:$('#uploadForm').submit();" class="easyui-linkbutton" data-options="iconCls:'icon-save'">发布新流程</a>  
         </td>
      </tr>
   </table>
</s:form>
</body>
</html>

 

列表显示jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib uri="/struts-tags" prefix="s"%>    
<!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=UTF-8">
<title>流程定义列表</title>
<!-- 导入jquery核心类库 -->
<script type="text/javascript"
   src="${pageContext.request.contextPath }/js/jquery-1.8.3.js"></script>
<!-- 导入easyui类库 -->
<link rel="stylesheet" type="text/css"
   href="${pageContext.request.contextPath }/js/easyui/themes/default/easyui.css">
<link rel="stylesheet" type="text/css"
   href="${pageContext.request.contextPath }/js/easyui/themes/icon.css">
<link rel="stylesheet" type="text/css"
   href="${pageContext.request.contextPath }/js/easyui/ext/portal.css">
<link rel="stylesheet" type="text/css"
   href="${pageContext.request.contextPath }/css/default.css">    
<script type="text/javascript"
   src="${pageContext.request.contextPath }/js/easyui/jquery.easyui.min.js"></script>
<script type="text/javascript"
   src="${pageContext.request.contextPath }/js/easyui/ext/jquery.portal.js"></script>
<script type="text/javascript"
   src="${pageContext.request.contextPath }/js/easyui/ext/jquery.cookie.js"></script>
<script
   src="${pageContext.request.contextPath }/js/easyui/locale/easyui-lang-zh_CN.js"
   type="text/javascript"></script>
<script type="text/javascript">
   $(function(){
      $("#grid").datagrid({
         striped : true,
         rownumbers : true,
         singleSelect : true,
         fitColumns : true,
         toolbar : [
            {
               id : 'deploy',
               text : '发布新流程',
               iconCls : 'icon-add',
               handler : function(){
                  location.href = "${pageContext.request.contextPath}/page_workflow_processdefinition_deploy.action";
               }
            }
         ]
      });
   });
</script>  
</head>
<body class="easyui-layout">
  <div region="center" >
   <table id="grid" class="easyui-datagrid">  
      <thead>
         <tr>
            <th data-options="field:'id'" width="120">流程编号</th>
            <th data-options="field:'name'" width="200">流程名称</th>
            <th data-options="field:'key'" width="100">流程key</th>
            <th data-options="field:'version'" width="80">版本号</th>
            <th data-options="field:'viewpng'" width="200">查看流程图</th>
         </tr>
      </thead>
      <tbody>
            <s:iterator value="list" var="processDefinition">
               <!-- 在循环过程中 ,将  processDefinition 对象,同时放入 root 和 map 中-->
            <tr>
               <td>
                  <s:property value="id"/> <!-- 从root找 -->
                  <s:property value="#processDefinition.id"/> <!-- 从map找 -->
               </td>
               <td><s:property value="name"/></td>
               <td><s:property value="key"/></td>
               <td><s:property value="version"/></td>
               <td>
                  <s:a action="processDefinitionAction_viewpng" namespace="/" cssClass="easyui-linkbutton" data-options="iconCls:'icon-search'">查看流程图
                     <s:param name="id" value="id"></s:param>
                  </s:a>
               </td>
            </tr>
            </s:iterator>
      </tbody>
   </table>
  </div>
</body>
</html>

 3、action

package com.dong.bos.web.action;

import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.ActionSupport;
import org.activiti.engine.RepositoryService;
import org.activiti.engine.repository.DeploymentBuilder;
import org.activiti.engine.repository.ProcessDefinition;
import org.activiti.engine.repository.ProcessDefinitionQuery;
import org.springframework.beans.factory.annotation.Autowired;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.util.List;
import java.util.zip.ZipInputStream;

public class ProcessDefinitionAction extends ActionSupport {
    private File zipfile;
    @Autowired
    private RepositoryService repositoryService;

    public void setZipfile(File zipfile) {
        this.zipfile = zipfile;
    }

    private List<ProcessDefinition> list;

    public List<ProcessDefinition> getList() {
        return list;
    }

    public String deploy() throws FileNotFoundException {

        DeploymentBuilder deploymentBuilder = repositoryService.createDeployment();
        deploymentBuilder.addZipInputStream(new ZipInputStream(new FileInputStream(zipfile)));
        deploymentBuilder.deploy();
        ProcessDefinitionQuery processDefinitionQuery = repositoryService.createProcessDefinitionQuery();
        list = processDefinitionQuery.list();
        return "list";
    }

    public String list() {

        ProcessDefinitionQuery processDefinitionQuery = repositoryService.createProcessDefinitionQuery();
        list = processDefinitionQuery.list();
//ActionContext.getContext().getValueStack().set("list",processDefinitions);   第一种:放到值栈中
        return "list";
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值