1.页面链接到controller
<a href="viewCurrentImage?id=${per.id}&name=${per.name }">查看流程图</a>
2. 此方法主要是找到流程执行到哪了 并找到节点的坐标,高度,和宽度,并跳到显示图片的jsp,也就是3中的代码
<span style="white-space:pre"> </span>@RequestMapping(value="/viewCurrentImage",method=RequestMethod.GET)
public String viewCurrentImage(String id,String name,HttpSession session){
//查出当前任务,由于业务标识是由id和name组合的,所以只有一个任务
String processInstanceBusinessKey = name +id;
Task task = processEngine.getTaskService()
.createTaskQuery()
.processInstanceBusinessKey(processInstanceBusinessKey)
.singleResult();
String taskId= task.getId();
Map<String,String> currentActivityCoordinates =getCurrentActivityCoordinates(taskId);
session.setAttribute("currentActivityCoordinates", currentActivityCoordinates);
return "image";
}
<pre name="code" class="plain">说明:此方法我是用把 name 和 id 的组合当成 可以查到流程实例对象和当前的任务对象
在把 currentActivityCoordinates 这个map放到session中去ÿ