在这次学习工作流的过程中,工作流如何与业务结合有多种方式,虽然很简单,但是每次都要再次梳理几分钟,这次拿出来整理一下,将它真正成为自己的知识。
从启动流程开始说:
申请页面:选择所用流程(即画的流程图的id)
<table cellpadding="0" cellspacing="0" class="mainForm">
<tr>
<td width="120px">
<div>
所用流程:<s:select name="processDefinitionKey" cssClass="SelectStyle"
list="processDefinitionList" listKey="key" listValue="key"/>
</div>
</td>
</tr>
<tr>
<td>申请名称:</td>
<td><input type="text" name="title" cssClass="InputStyle" /></td>
</tr>
<tr>
<td>申请理由:</td>
<td><input type="text" name="reason" cssClass="InputStyle" /></td>
</tr>
</table>
提交申请:获取前台传来的值
/** 提交申请 */
public String submit() throws Exception {
// 封装申请信息
Application application = new Application();
title=new String(title.getBytes("iso-8859-1"),"utf-8");
reason=new String(reason.getBytes("iso-8859-1"),"utf-8");
application.setApplicant(getCurrentUser()); // 申请人,当前用户
application.setTitle(title);
application.setReason(reason);
String processDefinitionKeyStr=new String(processDefinitionKey.getBytes("iso-8859-1"),"utf-8");
application.setProcessDefinitionKey(processDefinitionKeyStr);
// 调用业务方法(保存申请信息,并启动流程开始流转)
applicationService.submit(application);
return "toMyApplicationList"; // 成功后转到"我的申请查询"
}
public void submit(Application application) {
// 1,设置属性并保存application
application.setA