package com.portal.web.sysadmin.flowadmin;
import java.io.InputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import org.activiti.engine.repository.ProcessDefinition;
import org.springframework.stereotype.Component;
import org.springframework.web.servlet.ModelAndView;
import com.portal.pub.web.core.AbstractBaseController;
@Component("/sysadmin/flowadmin/FlowImageShow.html")
public class FlowImageShow extends AbstractBaseController {
@Override
public ModelAndView handleRequest(HttpServletRequest request,
HttpServletResponse response) throws Exception {
String processDefinitionId = request
.getParameter("processDefinitionId");
ProcessDefinition processDefinitioin = repositoryService
.createProcessDefinitionQuery()
.processDefinitionId(processDefinitionId).singleResult();
String diagramResourceName = processDefinitioin
.getDiagramResourceName();
InputStream is = repositoryService.getResourceAsStream(
processDefinitioin.getDeploymentId(), diagramResourceName);
byte[] b = new byte[1024];
int len = -1;
while ((len = is.read(b, 0, 1024)) != -1) {
response.getOutputStream().write(b, 0, len);
}
return null;
}
}
?
<image width="300" height="100" src="#context()/sysadmin/flowadmin/FlowImageShow.html?processDefinitionId=$processDefinition.getId()"/>