//打开查看流程图片的界面
public ActionForward viewImage(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
WorkflowActionForm waf = (WorkflowActionForm)form;
Workflow workflow = workflowManager.findWorkflow(waf.getId());
request.setAttribute("workflow", workflow);
return mapping.findForward("view_image");
}
//获取流程图片信息进行显示
public ActionForward image(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
WorkflowActionForm waf = (WorkflowActionForm)form;
Workflow workflow = workflowManager.findWorkflow(waf.getId());
byte[] processImage = workflow.getProcessImage();
response.setContentType("image/jpeg");
response.getOutputStream().write(processImage);
return null;
}
//查看流程定义界面
public ActionForward viewDef(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception {
WorkflowActionForm waf = (WorkflowActionForm)form;
Workflow workflow = workflowManager.findWorkflow(waf.getId());
request.setAttribute("workflow", workflow);
byte[] processDef = workflow.getProcessDef();
String def = new SAXReader().read(new ByteArrayInputStream(processDef)).asXML();
request.setAttribute("def", def);
return mapping.findForward("view_def");
}
public void setWorkflowManager(WorkflowManager workflowManager) {
this.workflowManager = workflowManager;
}
struts-config.xml
<action
path="/workflow"
type="org.springframework.web.struts.DelegatingActionProxy"
parameter="method"
name="workflowForm"
scope="request"
>
<forward name="index" path="/workflow/index.jsp"></forward>
<forward name="add_success" path="/workflow.do" redirect="true"></forward>
<forward name="view_image" path="/workflow/view_image.jsp"></forward>
<forward name="view_def" path="/workflow/view_def.jsp"></forward>
</action>
jsp
显示2进制xml 文件
<TR>
<td align="left">
<!-- 主输入域开始 -->
<pre><c:out value="${def }" escapeXml="true" /></pre>
<!-- 主输入域结束 -->
</td>
</TR>
显示2进制图片
<TR>
<td>
<!-- 主输入域开始 -->
<img src="workflow.do?method=image&id=${workflow.id }">
<!-- 主输入域结束 -->
</td>
</TR>