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

来源:https://www.cnblogs.com/zhujiqian/archive/2019/07/09/11086979.html
-Advertisement-
Play Games

文·原創/朱季謙 工作流是一個針對企業用戶、開發人員、系統管理員的輕量級工作流業務管理平臺,其核心是使用Java開發的快速、穩定的BPMN2.0流程引擎。在我們日常開發當中,例如oa系統里的請假功能,採購流程,以及訂單流程,等等,都會涉及到流程的開發,這裡面可以用工作流來進行開發,可以起到快速開發且 ...


文·原創/朱季謙

 

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

 

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

 

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

 


當時我的表情可以說是一臉矇蔽,懵逼之後就開始冷靜下來,準備看看究竟是哪裡出現了問題。

 

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

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

 

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

 

根據這個現象,可以確定亂碼問題就出在訪問這個json文件出錯之上。

 

在上面的截圖中,類StencilsetRestResource的方法getStencilset中,返回的是一個String類型,在Activiti Modeler源碼里,會自動將String類型轉換成Json格式的數據,但是,該字元串數據若出現以下亂碼情況,轉換就會出現問題,就會導致頁面也跟著亂碼,所以,解決的辦法是保證方法getStencilset讀取stencilset.json不出現以下亂碼問題,而是以正常的json字元串格式——

 

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

 

 

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

 

 


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • Javascript是前端面試的重點,本文重點梳理下 Javascript 中的常考基礎知識點,然後就一些容易出現的題目進行解析。限於文章的篇幅,無法將知識點講解的面面俱到,本文只羅列了一些重難點。 ...
  • Vue.js提供了v-model指令用於雙向數據綁定,比如在輸入框上使用時,輸入的內容會事實映射到綁定的數據上,綁定的數據又可以顯示在頁面里,數據顯示的過程是自動完成的。 v-model本質上不過是語法糖。它負責監聽用戶的輸入事件以更新數據,並對一些極端場景進行一些特殊處理。例如: 渲染如下: 當我 ...
  • 背景 在Electron打開新視窗的時候,提前載入一段JavaScript腳本,以此內置一些屬性或介面給被打開的頁面。之所以要以註入方式,而不是頁面自己引用,原因是不想麻煩頁面自行引用,不想修改舊有的業務邏輯。 方法一 一開始是想在打開BrowserWindow後,執行executeJavaScri ...
  • 先鋪墊下原型規則: 1.所有的引用類型(數組,對象,函數)都具有對象特性,可自由擴展屬性(出了null外) 2.所有的引用類型(數組,對象,函數)都有一個__proto__屬性(隱式原型),屬性值是一個對象 3.所有的函數都有一個prototype屬性(顯示原型),屬性值是一個對象 4.所有的引用類 ...
  • 好的代碼像粥一樣,都是用時間熬出來的。 概述 文件 I/O 是由簡單封裝的標準 POSIX 函數提供的。 通過 require('fs') 使用該模塊。 所有文件系統操作都具有同步和非同步的形式。 非同步的形式總是將完成回調作為其最後一個參數。 傳給完成回調的參數取決於具體方法,但第一個參數始終預留用於 ...
  • 問題現象 這個問題的現象說起來很簡單。 小程式頁面中有一篇很長的文章,內部有一個Echarts圖表,手指上下滑動觀看內容。 但是手指滑動區域在Echarts圖表上時,頁面卻不能滑動了。 如下圖: 追蹤問題原因 因為在小程式上渲染圖表用到的是 "echarts for weixin" 這個組件,而這個 ...
  • 編程式跳轉 router.js: ...
  • 簡介 觀察者模式又叫發佈 訂閱模式,它定義了對象間的一種一對多的關係,讓多個觀察者對象同時監聽某一個主題對象,當一個對象發生改變時,所有依賴於它的對象都將得到通知。 舉一個現實生活中的例子,例如小紅在淘寶的一家店裡看上了一雙紅色的鞋,小李也在這家店裡面看上了一頂黑色的帽子,但是聯繫賣家時,賣家回答這 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...