SSH框架集成Activiti Modeler在線設計器頁面出現問號及亂碼的解決辦法

文·原創/朱季謙web

 

工做流是一個針對企業用戶、開發人員、系統管理員的輕量級工做流業務管理平臺,其核心是使用Java開發的快速、穩定的BPMN2.0流程引擎。在咱們平常開發當中,例如oa系統裏的請假功能,採購流程,以及訂單流程,等等,都會涉及到流程的開發,這裏面能夠用工做流來進行開發,能夠起到快速開發且穩定的效果,筆者最近都在研究工做流,也對這個東西有很大的興趣。json

 

最近因公司業務須要,需將Activiti Modeler的web在線設計器集合到公司一套Spring+SpringMVC+hibernate框架裏,這是我第一次玩工做流的在線設計器,先前都只是在eclipse上安裝工做流的插件進行流程圖的設計以及開發,因此,整合在線設計器,在這個過程中仍是遇到了很多坑。其中有一個是亂碼問題,也就是整合完成以後,運行項目時,在點擊路徑localhost:8080/activiti/modeler.jsp?modelld=1跳轉到Activiti在線設計器頁面時,原覺得下一秒能夠看到帶有不少圖標的設計器頁面,但萬萬沒有想到的是,居然出現了這樣一個東西——瀏覽器

 

你沒有看錯,整張頁面的title部分,都變成問號了!框架

 


當時個人表情能夠說是一臉矇蔽,懵逼以後就開始冷靜下來,準備看看到底是哪裏出現了問題。eclipse

 

通過一番刻骨銘心的檢查後,發現這些頁面上的數據來源原來是從一個stencilset.json裏獲取到的,這個json文件是Activiti modeler自身帶的,具體內容以下截圖所示——jsp

在控制層,訪問這個stencilset.json的方法是長這樣的——編碼

 

找到這個訪問json的方法後,我試着測了一下,發如今谷歌瀏覽器頁面上顯示這個json文件的數據也是亂的,中文的地方都出現了一個個問好,問號對應的正好就是web設計器頁面上的亂碼。spa

 

根據這個現象,能夠肯定亂碼問題就出在訪問這個json文件出錯之上。hibernate

 

在上面的截圖中,類StencilsetRestResource的方法getStencilset中,返回的是一個String類型,在Activiti Modeler源碼裏,會自動將String類型轉換成Json格式的數據,可是,該字符串數據若出現如下亂碼狀況,轉換就會出現問題,就會致使頁面也跟着亂碼,因此,解決的辦法是保證方法getStencilset讀取stencilset.json不出現如下亂碼問題,而是以正常的json字符串格式——插件

 

 解決辦法——在Spring-MVC.xml文件里加這樣一段編碼設置,就能夠解決該問題了,這樣訪問的json字符串就不會出現亂碼,頁面上也能夠正常運行了。

 

 

最後截取一張成功後的Activiti Modeler在線設計器頁面圖片——

 

相關文章
相關標籤/搜索