來到北京,今天的天氣似乎是最好的,希望不要再有降溫天氣了。今日繼續我們的審批流程,今天的內容似乎有點多,同學們需要努力學習哦!
?
我個人認為今天的內容多,是為因今天加入了測試部分。使用 JBPM 開發 OA 系統,說簡單些就是將自定義表單數據放到 JBPM 工作流中流轉。我們所需要實現的功能就是,使用戶可以向系統中部署自定義工作流,用戶可以自己添加自定義表單。我們通過編寫通用表單實體,讓任何自定義表單在工作流中流轉即可。
?
???????? 我來總結一下今天的各部分重點內容。
?
一、表單定義
?????? 我們可以使用 FCKEDIT 這個免費的工具來設計自定義表單,但我們并未使用外部工具。而是自己編寫了一個簡單的表單設計工具,在下面我會一一介紹。
?
???????? 與其他模塊一樣,我們需要為表單定義( 表單模板管理 )編寫自己的 DispathcAction ,根據下面的表單模板管理流程,編寫 DispatchAction 。
?
在實現 DispatchAction 有必須先定義 struts 的 ActionForm 和表單定義的實體 (FormDefinition) ,因為我們的 OA 系統可以添加任意自定義的表單,所以我們需要編寫一個通用的 ActionForm 和 FormDefinition 。實體中具有哪些屬性字段,是這里的難點。湯老師,在 OA 項目的第一就領著大家把事個系統簡單分析了一下,之后的每次講課都從大模塊框架開始。因為只有講了整個相關功能的大模塊應用,才能更好的理解這些小模塊需要什么,比如下面定義的實體是因為在生成表單實例時、提交申請和工作流流轉時使用。我們先來看一下實體的全景圖:
(新增加: FormDefinition 、 FormInstance 、 ApproveInfo ,今日我們只學習 FormDefinition )
FormDefinitionActionForm :
public class FormDefinitionActionForm extends ActionForm { ??? ??? private static final long serialVersionUID = 1L; ? ??? private Long id ; ??? private String name ; // 自定義表單名稱 ??? private String templatePath ; // 自定義表單存放路徑 (html) ??? private String processName ; // 自定義表單使用的流程名稱 ??? private String[] propertyNameList ; // 存放表單字段名稱的數組與 propertyValueTypeList 對應 ??? private Class[] propertyValueTypeList ; // 存放表單字段類型的數組與 propertyNameList 對應 // setters and getters… } |
?
FormDefinition :
public class FormDefinition { ??? private Long id ; ??? private String name ; // 自定義表單名稱 ??? private String templatePath ; // 自定義表單存放路徑 (html) ??? private String processName ; // 自定義表單使用的流程名稱 ??? // 存放表單字段名稱與字段類型的 MAP ??? private Map<String,Class> fieldDefinitionList = new HashMap<String, Class>(); // setters and getters… } |
更多文章、技術交流、商務合作、聯系博主
微信掃碼或搜索:z360901061

微信掃一掃加我為好友
QQ號聯系: 360901061
您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。
【本文對您有幫助就好】元
