当前位置: 移动技术网 > IT编程>开发语言>Jquery > SSH框架集成Activiti Modeler在线设计器页面出现问号及乱码的解决办法

SSH框架集成Activiti Modeler在线设计器页面出现问号及乱码的解决办法

2019年07月10日  | 移动技术网IT编程  | 我要评论

文·原创/朱季谦

 

工作流是一个针对企业用户、开发人员、系统管理员的轻量级工作流业务管理平台,其核心是使用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在线设计器页面图片——

 

 

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网