日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

activiti 5.19整合modeler在线编辑器

發布時間:2023/12/18 编程问答 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 activiti 5.19整合modeler在线编辑器 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

心得:想要做一件事,首先得清楚這件事的本質。

最開始學習activiti,我與大家都一樣,徘徊在如何與業務系統對接,如何整合modeler實現在線編輯。當我花了1周時間高強度學習后,我發現,一開始想得太多了。

最初階段,我應該先讓activiti跑起來,然后與業務系統對接,弄清楚activiti的各種實現原理后,最后來整合modeler才是最好的方式。因為這個時候你已經明白了modeler與工作流引擎之間的關系,你知道應該怎么做,你的方向在哪里。

這可能就是為什么網上的教程,每一個都是直接從測試類開始,只告訴大家如何進行流程流程,而不是一上來就告訴大家怎么整合與使用modeler的因為吧。

下面,就開始整合modeler,如果過程中有不對的或者有疑問的地方,歡迎指導與探討。

所以,我的教程也是基于你已經有一個能夠運行activiti的項目基礎上。

1、什么是modeler

modeler是activiti的一個在線編輯流程插件,通俗的說,它就是一個頁面,不過這個頁面包含了很多的控制以實現我們的目的。

2、在線編輯原理

很多人一開始可能會被“流程在線編輯”這幾個字誤導,認為modeler編輯的是流程,其實不然,編輯器編輯的只是一個Model。Model部署后才是流程(procdef),已經部署的流程(procdef)也可以轉換為Model,Model與流程(procdef)是分別獨立的,刪掉Model流程還在,刪掉流程Model還在。

3、整合modeler需要的資源

a.樣式(官方發布的activiti-explorer.war包中獲取):diagram-viewer文件夾、editor-app文件夾

b.頁面控件(官方發布的activiti-explorer.war包中獲取):stencilset.json

c.modeler.html(官方發布的activiti-explorer.war包中獲取)

d.流程定義列表(如果先做項目后整合,那么這個列表應該是已經有的)(如果沒有,下載咖啡兔的demo,然后拷貝process-list)建議大家參照著自己寫一個頁面

e.模型列表(下載咖啡兔的demo,拷貝model-list)建議大家參照著自己寫一個頁面

f.jar包(下載咖啡兔的demo,參照咖啡兔的jar包,不是所有的都用得上,最好的方式就是先導入基礎包,然后運行,運行報錯差什么包就加什么包)

4、整合步驟

a.將diagram-viewer文件夾與editor-app文件夾拷貝至項目webapp下,保證項目編譯后在根目錄

b.將stencilset.json文件拷貝至resources目錄下,保證項目編譯后在根目錄

c.將modeler.html文件拷貝至WEB-INF目錄下

d.將process-list文件與model-list文件拷貝至WEB-INF目錄指定的頁面路勁下

e.導入jar包

f.掃描activiti源生controller(只要controller)

<context:component-scan base-package="org.activiti.rest.editor"/> <context:component-scan base-package="org.activiti.rest.diagram"/>

g.編寫controller(一個用來操控流程,一個用來操控模型)(操控流程的controller用自己寫的,操控模型的controller參考咖啡兔的ModelController)

1)流程controller(代碼太多,這里就不貼出來了,參考咖啡兔的ActivitiController,我只列出整合modeler需要用到的方法)

a)獲取流程定義列表(用于流程定義列表頁面展示所有已經部署的流程定義)

b)流程定義轉換Model(用于沒有模型的流程轉換模型)
2)模型controller(參考咖啡兔的ModelController,其實直接全部拷貝就可以了)

h.掃描自身controller(該controller的作用就是將請求重定向到modeller頁面,頁面的所有控件會由js自行加載)

<context:component-scan base-package="cn.cst.oss.bpm.contorller"/>

i.將modeler.html獨立出來,因為spring mvc 一般都是直接過濾的所有路徑(在靜態資源控制的地方添加)不然訪問會報錯,提示沒有這個方法

<resources mapping="/modeler.html" location="WEB-INF/"/>

5、檢驗

a.項目啟動,跳轉到流程定義列表,能夠看到所有的流程定義表示成功。

b.點擊任意流程定義后面的轉換Model控件,后臺不抱錯并且頁面到了模型列表頁,有一條數據,表示成功。

d.點擊編輯按鈕(咖啡兔是直接在頁面超鏈接跳轉到modeler.html,我是在模型controller寫了一個方法來跳轉,實現效果一致),成功打開modeler.html表示成功。

c.模型列表的其他功能自己去挨個實驗,這里不多做說明。

6、原理:先要獲取到所有的流程定義,然后將流程定義轉換為Model(模型),將模型ID傳給modeler頁面并跳轉到modeler頁面。modeler頁面會自動解析之前所列出的樣式資源與控件資源,一旦進行邏輯操作就調用第4.f 步驟掃描的controller。

總結

以上是生活随笔為你收集整理的activiti 5.19整合modeler在线编辑器的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。