spring mvc Activiti5.18+ Diagram-viewer集成
前言: 最近在做Activiti的Diagram-viewer组件集成,鉴于知名Activiti专家咖啡兔的博客中通过自定义类继承ActivitiRestApplication这个父类来集成Diagram-viewer组件(咖啡兔原文地址),后来我发现在Activiti5.18以后这个类就被放弃了,所以我们现在可以通过Spring mvc 来给我提供服务,下面我把基本的步骤详细描述出来,供大家学习参考。
1、加入提供接口服务的Jar包 activiti-diagram-rest,这里我用的是5.22.0版本的。
这里有三个接口,我用了spring自动扫描扫描这个包下的Controller。
2、创建Activiti的xml配置文件。用于自动扫描上面的jar包
然后用spring在spring-config中引入这个配置文件,我们走到这一步,基本上后台就完成。
3、拷贝Activiti自带的Demo(Activiti-explorer)中的Diagram-viewer组件到自己的项目的webapp(或者WebContent)下,鉴于Spring MVC要什么东西都要拦截,你需要配置静态资源(ps:个人觉得这个超级恶心….)
4修改Diagram-viewer下index.html中的访问地址,修改内容如下:
在这里大家可能会有一点点疑问,因为网上有很多集成这个组件中这三个接口地址都是带有/service/….这样的,基于带有/service/..的方式是因为博主用的Activiti-master\modules\activiti-diagram-rest中的源码到自己的项目中,然后需改其访问地址。由于我们是直接自动扫描到jar包的接口,所以需要去掉index.html中的service,有兴趣的可以去看接口的RequestMapping,便可以了解!
5、修改Diagram-viewer\js\ActivitiRest.js
这个地方很重要,因为这个东西我弄了很久
在这里要将ajax中原有的数据类型修改为json,json与jsonp 的区别
注意,有三个地方需要改,修改完毕后,启动你的项目,然后访问你的地址,应该就没问题了。
例:
http://localhost:8090/base-web/diagram-viewer/index.html?processDefinitionId=Leave:1:70004&processInstanceId=105001
如果你根据我的教程还是不行的话,可以把问题发到我的邮箱。
email:992004863@qq.com
交流QQ群:44735943