黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

轉(zhuǎn):傳智播客—jbpm與OA項目(七)

系統(tǒng) 2232 0

來到北京,今天的天氣似乎是最好的,希望不要再有降溫天氣了。今日繼續(xù)我們的審批流程,今天的內(nèi)容似乎有點多,同學(xué)們需要努力學(xué)習(xí)哦!

?

我個人認為今天的內(nèi)容多,是為因今天加入了測試部分。使用 JBPM 開發(fā) OA 系統(tǒng),說簡單些就是將自定義表單數(shù)據(jù)放到 JBPM 工作流中流轉(zhuǎn)。我們所需要實現(xiàn)的功能就是,使用戶可以向系統(tǒng)中部署自定義工作流,用戶可以自己添加自定義表單。我們通過編寫通用表單實體,讓任何自定義表單在工作流中流轉(zhuǎn)即可。

?

???????? 我來總結(jié)一下今天的各部分重點內(nèi)容。

?

一、表單定義

?????? 我們可以使用 FCKEDIT 這個免費的工具來設(shè)計自定義表單,但我們并未使用外部工具。而是自己編寫了一個簡單的表單設(shè)計工具,在下面我會一一介紹。

?

???????? 與其他模塊一樣,我們需要為表單定義( 表單模板管理 )編寫自己的 DispathcAction ,根據(jù)下面的表單模板管理流程,編寫 DispatchAction 。

clip_image001

?

在實現(xiàn) DispatchAction 有必須先定義 struts ActionForm 和表單定義的實體 (FormDefinition) ,因為我們的 OA 系統(tǒng)可以添加任意自定義的表單,所以我們需要編寫一個通用的 ActionForm FormDefinition 。實體中具有哪些屬性字段,是這里的難點。湯老師,在 OA 項目的第一就領(lǐng)著大家把事個系統(tǒng)簡單分析了一下,之后的每次講課都從大模塊框架開始。因為只有講了整個相關(guān)功能的大模塊應(yīng)用,才能更好的理解這些小模塊需要什么,比如下面定義的實體是因為在生成表單實例時、提交申請和工作流流轉(zhuǎn)時使用。我們先來看一下實體的全景圖:

clip_image003

(新增加: FormDefinition 、 FormInstance 、 ApproveInfo ,今日我們只學(xué)習(xí) 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 ; // 存放表單字段名稱的數(shù)組與 propertyValueTypeList 對應(yīng)

??? private Class[] propertyValueTypeList ; // 存放表單字段類型的數(shù)組與 propertyNameList 對應(yīng)

// 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…

}

轉(zhuǎn):傳智播客—jbpm與OA項目(七)


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

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

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!?。?/p>

發(fā)表我的評論
最新評論 總共0條評論