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在线设计器页面图片——

 

相关文章
相关标签/搜索