1.加入文件上传功能,即上传流程部署文件
- 导入commons-fileupload.jar
- 导入commons-io.jar
2.加入请假单实体对象及映射文件,将流程实例与请假单对象绑定
3.加入动态为任务分配(通过设定流程变量)
4.加入登陆界面
5.流程定义中加入不同的流向,即可以通过审批或者驳回审批重新填写(多流向),具体见startTask.jsp文件
6.因为加入了不同的分支流向,所以当审批不通过要驳回时JBPM应该能够得到当初提交任务的参与者,
而这个工作通过直接用actor-id=#{}来实现并不合适,因为如果有很多这样的指定的话,
可能会乱套,JBPM提供了一个专门能解决该问题的机制----泳道swimlane。
解决方法:使用泳道,它是定义流程中的多个任务由相同参与者完成的一种机制,这使的泳道正好能够完成上面要解决的任务。
形象的说,在为第一个任务实例指定泳道后,参与者将被流程记住,以备在同一泳道中的后续任务所使用。
泳道有一个分配,因此所有引用泳道的任务不需要再指定分配。
**注意:可以在<start-state>开始节点添加一个任务<task>,用swimlane机制来记录流程的启动者
**实现:见下一个项目有泳道的实现
**该项目缺点:缺点就是解决分支流程的时候不是使用的swimlane,但是没有出现错误,比较成功,swimlane的使用见下一个项目。
** 说明:具体内容的讲解见项目,该项目的源码仍然要到下载频道我的空间中下载,不需要任何积分。