專利名稱:表單生成裝置和表單生成方法
技術(shù)領(lǐng)域:
本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域,具體而言,涉及一種表單生成裝置和一種表單生成方法。
背景技術(shù):
在一些應(yīng)用系統(tǒng)中,存在大量的表單,有的表單字段的數(shù)量巨多,而且這些表單字段可能只是簡(jiǎn)單的數(shù)據(jù)載體作用,添加這些字段會(huì)導(dǎo)致工作量重復(fù),使得開(kāi)發(fā)工作量會(huì)很大,并且系統(tǒng)和界面對(duì)用戶來(lái)說(shuō)不夠友好,同時(shí)也無(wú)法隨時(shí)間來(lái)對(duì)表單字段進(jìn)行動(dòng)態(tài)調(diào)整。現(xiàn)有技術(shù)中為了解決上述問(wèn)題,提出了一種動(dòng)態(tài)表單生成裝置,但是目前的生成裝置中,主要是依賴于UI元數(shù)據(jù)定義,或者實(shí)體元數(shù)據(jù),才能去配置表單模板。這樣導(dǎo)致的問(wèn)題是,如果UI元數(shù)據(jù)或者實(shí)體數(shù)據(jù)更新,模板的配置過(guò)程也需要更改,而且模板對(duì)應(yīng)的數(shù)據(jù)庫(kù)表結(jié)構(gòu),歷史數(shù)據(jù)調(diào)整都需要進(jìn)行對(duì)應(yīng)的手工調(diào)整,這樣反而造成工作量更是龐大。例如需要表單增加“名稱”一個(gè)字段,現(xiàn)有的技術(shù)不僅要修改UI元數(shù)據(jù)增加一個(gè)“名稱”項(xiàng),表單模板增加一個(gè)對(duì)應(yīng)“名稱”字段,實(shí)體元數(shù)據(jù)修改增加“名稱”字段,表結(jié)構(gòu)增加一個(gè)“名稱”字段,如果客戶那里有歷史數(shù)據(jù),還需要對(duì)歷史需要遷移,需要編寫調(diào)整腳本等等細(xì)節(jié)問(wèn)題。因此,需要一種新的技術(shù)方案,能夠有效地實(shí)現(xiàn)表單字段的靈活調(diào)整,并且不需要用戶對(duì)表單字段涉及的文件及數(shù)據(jù)庫(kù)表進(jìn)行大量的操作,提高了用戶的工作效率,以及提升了用戶的工作體驗(yàn)。
發(fā)明內(nèi)容
為詳細(xì)解析本發(fā)明的技術(shù)方案,首先對(duì)以下名詞進(jìn)行解釋UI 用戶界面。UI元數(shù)據(jù)頁(yè)面元素的描述數(shù)據(jù)??丶獢?shù)據(jù)頁(yè)面控件的描述數(shù)據(jù)。布局元數(shù)據(jù)頁(yè)面布局的描述數(shù)據(jù)。插件指的是生成表單模板中的一個(gè)控件的對(duì)應(yīng)裝置稱為一個(gè)插件。本發(fā)明所要解決的技術(shù)問(wèn)題在于,提供一種新的技術(shù)方案,能夠有效地實(shí)現(xiàn)表單字段的靈活調(diào)整,并且不需要用戶對(duì)表單字段涉及的文件及數(shù)據(jù)庫(kù)表進(jìn)行大量的操作,提高了用戶的工作效率,以及提升了用戶的工作體驗(yàn)。有鑒于此,本發(fā)明提供了一種表單生成裝置,包括模板配置模塊,配置或修改表單模板以及所述表單模板中的UI元數(shù)據(jù);模板解析模塊,從所述表單模板中解析出所述UI 元數(shù)據(jù);表結(jié)構(gòu)更新模塊,根據(jù)所述UI元數(shù)據(jù),在數(shù)據(jù)庫(kù)中生成表結(jié)構(gòu);模板渲染模塊,根據(jù)所述UI元數(shù)據(jù)和所述表結(jié)構(gòu),將所述表單模板渲染成可編程控件,以用于生成自定義表單。通過(guò)該技術(shù)方案,用戶只需在模板配置模塊等表單設(shè)計(jì)器中配置表單模板,則可以自動(dòng)解析生成控件元數(shù)據(jù)和布局元數(shù)據(jù),并生成元數(shù)據(jù)對(duì)應(yīng)的表結(jié)構(gòu),以在將表單模板渲染時(shí)使用,不需用戶進(jìn)行元數(shù)據(jù)以及對(duì)應(yīng)數(shù)據(jù)庫(kù)表的修改。在上述技術(shù)方案中,優(yōu)選地,所述模板配置模塊根據(jù)HTML描述規(guī)則配置或修改所述表單模板和所述UI元數(shù)據(jù),其中,所述UI元數(shù)據(jù)包括控件元數(shù)據(jù)和布局元數(shù)據(jù)。通過(guò)該技術(shù)方案,采用通用的HTML的描述規(guī)則,相對(duì)全面且擴(kuò)張性強(qiáng),新增控件特性時(shí),不需另行開(kāi)發(fā)以對(duì)其支持。在上述技術(shù)方案中,優(yōu)選地,所述表結(jié)構(gòu)更新模塊在所述數(shù)據(jù)庫(kù)中不存在表結(jié)構(gòu)時(shí),根據(jù)所述UI元數(shù)據(jù),直接生成所述表結(jié)構(gòu),以及在所述數(shù)據(jù)庫(kù)中已存在表結(jié)構(gòu)時(shí),根據(jù)所述UI元數(shù)據(jù)生成最新表結(jié)構(gòu)信息,以及根據(jù)已存在的表結(jié)構(gòu)的元數(shù)據(jù)生成歷史表結(jié)構(gòu)信息,對(duì)比所述最新表結(jié)構(gòu)信息與所述歷史表結(jié)構(gòu)信息,并在兩者不同時(shí),根據(jù)所述最新表結(jié)構(gòu)信息,將所述已存在的表結(jié)構(gòu)更新為所述表結(jié)構(gòu),并將所述已存在的表結(jié)構(gòu)中的數(shù)據(jù)復(fù)制進(jìn)所述表結(jié)構(gòu)。通過(guò)該技術(shù)方案,實(shí)現(xiàn)了表結(jié)構(gòu)的更新,保證了更新后的表結(jié)構(gòu)能兼顧以前的表結(jié)構(gòu)中的數(shù)據(jù)。在上述技術(shù)方案中,優(yōu)選地,所述模板渲染模塊將所述表單模板中的控件標(biāo)簽轉(zhuǎn)化為對(duì)應(yīng)不同客戶端的標(biāo)簽,以生成新模板,并根據(jù)新模板中的標(biāo)簽進(jìn)行渲染,以生成對(duì)應(yīng)所述不同客戶端的所述可編程控件。通過(guò)該技術(shù)方案,保證了生成的控件可以適用于多種不同的客戶端。在上述技術(shù)方案中,優(yōu)選地,所述模板配置模塊通過(guò)微內(nèi)核擴(kuò)展插件,來(lái)配置或修改所述表單模板和UI元數(shù)據(jù)。通過(guò)該技術(shù)方案,利于用戶便捷地配置或修改上述的UI元數(shù)據(jù)。本發(fā)明還提供一種表單生成方法,包括步驟202,配置或修改表單模板以及所述表單模板中的UI元數(shù)據(jù);步驟204,從所述表單模板中解析出所述UI元數(shù)據(jù);步驟206,根據(jù)所述UI元數(shù)據(jù),在數(shù)據(jù)庫(kù)中生成表結(jié)構(gòu);步驟208,根據(jù)所述UI元數(shù)據(jù)和所述表結(jié)構(gòu),將所述表單模板渲染成可編程控件,以用于生成自定義表單。通過(guò)該技術(shù)方案,用戶只需在表單設(shè)計(jì)器中配置表單模板,則可以自動(dòng)解析生成控件元數(shù)據(jù)和布局元數(shù)據(jù),并生成元數(shù)據(jù)對(duì)應(yīng)的表結(jié)構(gòu),以在將表單模板渲染時(shí)使用,不需用戶進(jìn)行元數(shù)據(jù)以及對(duì)應(yīng)數(shù)據(jù)庫(kù)表的修改。在上述技術(shù)方案中,優(yōu)選地,所述步驟202具體包括根據(jù)HTML描述規(guī)則配置或修改所述表單模板和所述UI元數(shù)據(jù),其中,所述UI元數(shù)據(jù)包括控件元數(shù)據(jù)和布局元數(shù)據(jù)。通過(guò)該技術(shù)方案,采用通用的HTML的描述規(guī)則,相對(duì)全面且擴(kuò)張性強(qiáng),新增控件特性時(shí),不需另行開(kāi)發(fā)以對(duì)其支持。在上述技術(shù)方案中,優(yōu)選地,所述步驟206具體包括在所述數(shù)據(jù)庫(kù)中不存在表結(jié)構(gòu)時(shí),根據(jù)所述UI元數(shù)據(jù),直接生成所述表結(jié)構(gòu);在所述數(shù)據(jù)庫(kù)中已存在表結(jié)構(gòu)時(shí),根據(jù)所述UI元數(shù)據(jù)生成最新表結(jié)構(gòu)信息,以及根據(jù)已存在的表結(jié)構(gòu)的元數(shù)據(jù)生成歷史表結(jié)構(gòu)信息,對(duì)比所述最新表結(jié)構(gòu)信息與所述歷史表結(jié)構(gòu)信息,并在兩者不同時(shí),根據(jù)所述最新表結(jié)構(gòu)信息,將所述已存在的表結(jié)構(gòu)更新為所述表結(jié)構(gòu),并將所述已存在的表結(jié)構(gòu)中的數(shù)據(jù)復(fù)制進(jìn)所述表結(jié)構(gòu)。通過(guò)該技術(shù)方案,實(shí)現(xiàn)了表結(jié)構(gòu)的更新,保證了更新后的表結(jié)構(gòu)能兼顧以前的表結(jié)構(gòu)中的數(shù)據(jù)。在上述技術(shù)方案中,優(yōu)選地,在所述步驟208中,包括將所述表單模板中的控件標(biāo)簽轉(zhuǎn)化為對(duì)應(yīng)不同客戶端的標(biāo)簽,以生成新模板,并對(duì)新模板進(jìn)行渲染,以生成對(duì)應(yīng)所述不同客戶端的所述可編程控件。通過(guò)該技術(shù)方案,保證了生成的控件可以適用于多種不同的客戶端。在上述技術(shù)方案中,優(yōu)選地,所述步驟202還包括通過(guò)微內(nèi)核擴(kuò)展插件,來(lái)配置或修改所述表單模板中的所述UI元數(shù)據(jù)。通過(guò)該技術(shù)方案,利于用戶便捷地配置或修改上述的UI元數(shù)據(jù)。通過(guò)以上技術(shù)方案,可以實(shí)現(xiàn)一種表單生成裝置和一種表單生成方法,能夠有效地實(shí)現(xiàn)表單字段的靈活調(diào)整,并且不需要用戶對(duì)表單字段涉及的文件及數(shù)據(jù)庫(kù)表進(jìn)行大量的操作,提高了用戶的工作效率,以及提升了用戶的工作體驗(yàn)。
圖1是根據(jù)本發(fā)明的一個(gè)實(shí)施例的表單生成裝置的框圖;圖2是根據(jù)本發(fā)明的一個(gè)實(shí)施例的表單生成方法的流程圖;圖3是根據(jù)本發(fā)明的一個(gè)實(shí)施例的表單生成方法的工作流程圖;圖4是根據(jù)本發(fā)明的一個(gè)實(shí)施例的表單生成方法的原理示意圖;圖5是根據(jù)本發(fā)明的一個(gè)實(shí)施例的表單生成方法中生成腳本的流程圖;圖6是根據(jù)本發(fā)明的一個(gè)實(shí)施例的表單生成方法中進(jìn)行表單渲染的流程圖。
具體實(shí)施例方式為了能夠更清楚地理解本發(fā)明的上述目的、特征和優(yōu)點(diǎn),下面結(jié)合附圖和具體實(shí)施方式
對(duì)本發(fā)明進(jìn)行進(jìn)一步的詳細(xì)描述。在下面的描述中闡述了很多具體細(xì)節(jié)以便于充分理解本發(fā)明,但是,本發(fā)明還可以采用其他不同于在此描述的其他方式來(lái)實(shí)施,因此,本發(fā)明并不限于下面公開(kāi)的具體實(shí)施例的限制。圖1是根據(jù)本發(fā)明的一個(gè)實(shí)施例的表單生成裝置的框圖。如圖1所示,本發(fā)明提供了一種表單生成裝置100,包括模板配置模塊102,配置或修改表單模板以及所述表單模板中的UI元數(shù)據(jù);模板解析模塊104,從所述表單模板中解析出所述UI元數(shù)據(jù);表結(jié)構(gòu)更新模塊106,根據(jù)所述UI元數(shù)據(jù),在數(shù)據(jù)庫(kù)中生成表結(jié)構(gòu); 模板渲染模塊108,根據(jù)所述UI元數(shù)據(jù)和所述表結(jié)構(gòu),將所述表單模板渲染成可編程控件, 以用于生成自定義表單。通過(guò)該技術(shù)方案,用戶只需在模板配置模塊等表單設(shè)計(jì)器配置表單模板,則可以自動(dòng)解析生成控件元數(shù)據(jù)和布局元數(shù)據(jù),并生成元數(shù)據(jù)對(duì)應(yīng)的表結(jié)構(gòu),以在將表單模板渲染時(shí)使用,不需用戶進(jìn)行元數(shù)據(jù)以及對(duì)應(yīng)數(shù)據(jù)庫(kù)表的修改。其中,更新的方式包括新建和修改。在上述技術(shù)方案中,所述模板配置模塊102根據(jù)HTML描述規(guī)則更新所述表單模板和所述UI元數(shù)據(jù),其中,所述UI元數(shù)據(jù)包括控件元數(shù)據(jù)和布局元數(shù)據(jù)。通過(guò)該技術(shù)方案, 采用通用的HTML的描述規(guī)則,相對(duì)全面且擴(kuò)張性強(qiáng),新增控件特性時(shí),不需另行開(kāi)發(fā)以對(duì)其支持。在上述技術(shù)方案中,所述表結(jié)構(gòu)更新模塊106在所述數(shù)據(jù)庫(kù)中不存在表結(jié)構(gòu)時(shí), 根據(jù)所述UI元數(shù)據(jù),直接生成所述表結(jié)構(gòu),以及在所述數(shù)據(jù)庫(kù)中已存在表結(jié)構(gòu)時(shí),根據(jù)所述UI元數(shù)據(jù)生成最新表結(jié)構(gòu)信息,以及根據(jù)已存在的表結(jié)構(gòu)的元數(shù)據(jù)生成歷史表結(jié)構(gòu)信息,對(duì)比所述最新表結(jié)構(gòu)信息與所述歷史表結(jié)構(gòu)信息,并在兩者不同時(shí),根據(jù)所述最新表結(jié)構(gòu)信息,將所述已存在的表結(jié)構(gòu)更新為所述表結(jié)構(gòu),并將所述已存在的表結(jié)構(gòu)中的數(shù)據(jù)復(fù)制進(jìn)所述表結(jié)構(gòu)。通過(guò)該技術(shù)方案,實(shí)現(xiàn)了表結(jié)構(gòu)的更新,保證了更新后的表結(jié)構(gòu)能兼顧以前的表結(jié)構(gòu)中的數(shù)據(jù)。在上述技術(shù)方案中,所述模板渲染模塊108還將所述表單模板中的控件標(biāo)簽轉(zhuǎn)化為對(duì)應(yīng)不同客戶端的標(biāo)簽,以生成新模板,并根據(jù)新模板中的標(biāo)簽進(jìn)行渲染,以生成對(duì)應(yīng)所述不同客戶端的所述可編程控件。通過(guò)該技術(shù)方案,保證了生成的控件可以適用于多種不同的客戶端。在上述技術(shù)方案中,所述模板配置模塊102通過(guò)微內(nèi)核擴(kuò)展插件,來(lái)配置或修改所述表單模板和所述UI元數(shù)據(jù)。通過(guò)該技術(shù)方案,利于用戶便捷地配置或修改上述的UI 元數(shù)據(jù)。圖2是根據(jù)本發(fā)明的一個(gè)實(shí)施例的表單生成方法的流程圖。如圖2所示,本發(fā)明還提供一種表單生成方法,包括步驟202,配置或修改表單模板以及所述表單模板中的UI元數(shù)據(jù);步驟204,從所述表單模板中解析出所述UI元數(shù)據(jù); 步驟206,根據(jù)所述UI元數(shù)據(jù),在數(shù)據(jù)庫(kù)中生成表結(jié)構(gòu);步驟208,根據(jù)所述UI元數(shù)據(jù)和所述表結(jié)構(gòu),將所述表單模板渲染成可編程控件,以用于生成自定義表單。通過(guò)該技術(shù)方案, 用戶只需在表單設(shè)計(jì)器配置表單模板,則可以自動(dòng)解析生成控件元數(shù)據(jù)和布局元數(shù)據(jù),并生成元數(shù)據(jù)對(duì)應(yīng)的表結(jié)構(gòu),以在將表單模板渲染時(shí)使用,不需用戶進(jìn)行元數(shù)據(jù)以及對(duì)應(yīng)數(shù)據(jù)庫(kù)表的修改。其中,更新的方式包括新建和修改。在上述技術(shù)方案中,所述步驟202具體包括根據(jù)HTML描述規(guī)則配置或修改所述表單模板和所述UI元數(shù)據(jù),其中,所述UI元數(shù)據(jù)包括控件元數(shù)據(jù)和布局元數(shù)據(jù)。通過(guò)該技術(shù)方案,采用通用的HTML的描述規(guī)則,相對(duì)全面且擴(kuò)張性強(qiáng),新增控件特性時(shí),不需另行開(kāi)發(fā)以對(duì)其支持。在上述技術(shù)方案中,所述步驟206具體包括在所述數(shù)據(jù)庫(kù)中不存在表結(jié)構(gòu)時(shí),根據(jù)所述UI元數(shù)據(jù),直接生成所述表結(jié)構(gòu);在所述數(shù)據(jù)庫(kù)中已存在表結(jié)構(gòu)時(shí),根據(jù)所述UI元數(shù)據(jù)生成最新表結(jié)構(gòu)信息,以及根據(jù)已存在的表結(jié)構(gòu)的元數(shù)據(jù)生成歷史表結(jié)構(gòu)信息,對(duì)比所述最新表結(jié)構(gòu)信息與所述歷史表結(jié)構(gòu)信息,并在兩者不同時(shí),根據(jù)所述最新表結(jié)構(gòu)信息, 將所述已存在的表結(jié)構(gòu)更新為所述表結(jié)構(gòu),并將所述已存在的表結(jié)構(gòu)中的數(shù)據(jù)復(fù)制進(jìn)所述表結(jié)構(gòu)。通過(guò)該技術(shù)方案,實(shí)現(xiàn)了表結(jié)構(gòu)的更新,保證了更新后的表結(jié)構(gòu)能兼顧以前的表結(jié)構(gòu)中的數(shù)據(jù)。在上述技術(shù)方案中,在所述步驟208中,還包括將所述表單模板中的控件標(biāo)簽轉(zhuǎn)化為對(duì)應(yīng)不同客戶端的標(biāo)簽,以生成新模板,并對(duì)新模板進(jìn)行渲染,以生成對(duì)應(yīng)所述不同客戶端的所述可編程控件。通過(guò)該技術(shù)方案,保證了生成的控件可以適用于多種不同的客戶端。在上述技術(shù)方案中,所述步驟202還包括通過(guò)微內(nèi)核擴(kuò)展插件,來(lái)配置或修改所述表單模板中的所述UI元數(shù)據(jù)。通過(guò)該技術(shù)方案,利于用戶便捷地配置或修改上述的UI 元數(shù)據(jù)。圖3是根據(jù)本發(fā)明的一個(gè)實(shí)施例的表單生成方法的工作流程圖。如圖3所示,步驟302,判斷是否新建模板,在新建模板時(shí),進(jìn)入步驟304,在修改模板時(shí),則進(jìn)入步驟306。步驟304,新建模板并進(jìn)行配置。步驟306,修改現(xiàn)有的模板的配置。步驟308,保存配置完畢之后的模板。步驟310,對(duì)模板進(jìn)行解析。步驟312,組裝解析出的UI元數(shù)據(jù)。步驟314,從數(shù)據(jù)庫(kù)中查詢UI元數(shù)據(jù)對(duì)應(yīng)的數(shù)據(jù)庫(kù)表是否存在,不存在則進(jìn)入步驟316,存在則進(jìn)入步驟318。步驟316,為UI元數(shù)據(jù)創(chuàng)建對(duì)應(yīng)的數(shù)據(jù)庫(kù)表。步驟318,根據(jù)UI元數(shù)據(jù),對(duì)數(shù)據(jù)庫(kù)中對(duì)應(yīng)的數(shù)據(jù)表進(jìn)行調(diào)整。步驟320,同時(shí)對(duì)數(shù)據(jù)表中的數(shù)據(jù)進(jìn)行調(diào)整。其中,步驟302、步驟304、步驟306和步驟308構(gòu)成了模板設(shè)計(jì)階段,這個(gè)階段主要是如何設(shè)計(jì)出一套格式化表單模板,設(shè)計(jì)出格式化模板的前提是需要一套生成格式化模板的設(shè)計(jì)器(相當(dāng)于前述的模板配置模塊),所以要解決的問(wèn)題是如何設(shè)計(jì)出本文中提供的表單設(shè)計(jì)器。表單設(shè)計(jì)器需要解決的問(wèn)題包括1、生成的格式化模板的規(guī)則描述定義。2、生成的模板文件如何在設(shè)計(jì)器中實(shí)現(xiàn)可視化展現(xiàn)。3、設(shè)計(jì)器如何解決基礎(chǔ)控件開(kāi)發(fā)和布局控件開(kāi)發(fā)的擴(kuò)展機(jī)制。第一個(gè)問(wèn)題的解決辦法是利用HTML的描述規(guī)則作為模板的描述規(guī)則。HTML是業(yè)界標(biāo)準(zhǔn),在對(duì)表單模板中的控件和布局描述規(guī)則相對(duì)要全面,而且擴(kuò)張性強(qiáng),當(dāng)需要增加新的控件特性時(shí),可以巧妙的借助HTML的新增特性,無(wú)需做更多開(kāi)發(fā)。第二個(gè)問(wèn)題的解決辦法是因?yàn)楸疚闹械哪0迕枋鑫募玫氖荋TML的描述規(guī)則,所以本實(shí)施例中,設(shè)計(jì)器中的可視化展現(xiàn)利用瀏覽器提供的HTML渲染引擎渲染出模板的可視化展現(xiàn),這樣使得增加新的控件,也不需要修改設(shè)計(jì)態(tài)渲染引擎,而可以巧妙的借助瀏覽器的渲染引擎解決問(wèn)題。問(wèn)題三的解決辦法是本文中設(shè)計(jì)器提供運(yùn)行微內(nèi)核,提供插件開(kāi)發(fā)擴(kuò)張機(jī)制。增加新的控件時(shí),對(duì)新開(kāi)發(fā)的插件定義進(jìn)行插件注冊(cè),設(shè)計(jì)器在啟動(dòng)時(shí)啟動(dòng)對(duì)應(yīng)的插件定義。通過(guò)以上三個(gè)問(wèn)題的解決方案,可以實(shí)現(xiàn)用于配置模板的設(shè)計(jì)器,其原理可以如圖4所示。步驟310和步驟312構(gòu)成了模板解析階段。這個(gè)階段是利用模板解析器(相當(dāng)于前述的模板解析模塊)解析出我們需要的UI 元數(shù)據(jù)。模板解析器設(shè)計(jì)原理1、確定解析器要提取的UI元數(shù)據(jù),主要包括控件元數(shù)據(jù)和布局元數(shù)據(jù)。例如
權(quán)利要求
1.一種表單生成裝置,其特征在于,包括模板配置模塊,配置或修改表單模板以及所述表單模板中的UI元數(shù)據(jù);模板解析模塊,從所述表單模板中解析出所述UI元數(shù)據(jù);表結(jié)構(gòu)更新模塊,根據(jù)所述UI元數(shù)據(jù),在數(shù)據(jù)庫(kù)中生成表結(jié)構(gòu);模板渲染模塊,根據(jù)所述UI元數(shù)據(jù)和所述表結(jié)構(gòu),將所述表單模板渲染成可編程控件,以用于生成自定義表單。
2.根據(jù)權(quán)利要求1所述的表單生成裝置,其特征在于,所述模板配置模塊根據(jù)HTML描述規(guī)則配置或修改所述表單模板和所述UI元數(shù)據(jù),其中,所述UI元數(shù)據(jù)包括控件元數(shù)據(jù)和布局元數(shù)據(jù)。
3.根據(jù)權(quán)利要求1所述的表單生成裝置,其特征在于,所述表結(jié)構(gòu)更新模塊在所述數(shù)據(jù)庫(kù)中不存在表結(jié)構(gòu)時(shí),根據(jù)所述UI元數(shù)據(jù),直接生成所述表結(jié)構(gòu),以及在所述數(shù)據(jù)庫(kù)中已存在表結(jié)構(gòu)時(shí),根據(jù)所述UI元數(shù)據(jù)生成最新表結(jié)構(gòu)信息,以及根據(jù)已存在的表結(jié)構(gòu)的元數(shù)據(jù)生成歷史表結(jié)構(gòu)信息,對(duì)比所述最新表結(jié)構(gòu)信息與所述歷史表結(jié)構(gòu)信息,并在兩者不同時(shí),根據(jù)所述最新表結(jié)構(gòu)信息,將所述已存在的表結(jié)構(gòu)更新為所述表結(jié)構(gòu),并將所述已存在的表結(jié)構(gòu)中的數(shù)據(jù)復(fù)制進(jìn)所述表結(jié)構(gòu)。
4.根據(jù)權(quán)利要求1所述的表單生成裝置,其特征在于,所述模板渲染模塊將所述表單模板中的控件標(biāo)簽轉(zhuǎn)化為對(duì)應(yīng)不同客戶端的標(biāo)簽,以生成新模板,并根據(jù)新模板中的標(biāo)簽進(jìn)行渲染,以生成對(duì)應(yīng)所述不同客戶端的所述可編程控件。
5.根據(jù)權(quán)利要求1至4中任一項(xiàng)所述的表單生成裝置,其特征在于,所述模板配置模塊通過(guò)微內(nèi)核擴(kuò)展插件,來(lái)配置或修改所述表單模板和所述UI元數(shù)據(jù)。
6.一種表單生成方法,其特征在于,包括步驟202,配置或修改表單模板以及所述表單模板中的UI元數(shù)據(jù);步驟204,從所述表單模板中解析出所述UI元數(shù)據(jù);步驟206,根據(jù)所述UI元數(shù)據(jù),在數(shù)據(jù)庫(kù)中生成表結(jié)構(gòu);步驟208,根據(jù)所述UI元數(shù)據(jù)和所述表結(jié)構(gòu),將所述表單模板渲染成可編程控件,以用于生成自定義表單。
7.根據(jù)權(quán)利要求6所述的表單生成方法,其特征在于,所述步驟202具體包括根據(jù)HTML描述規(guī)則配置或修改所述表單模板和所述UI元數(shù)據(jù),其中,所述UI元數(shù)據(jù)包括控件元數(shù)據(jù)和布局元數(shù)據(jù)。
8.根據(jù)權(quán)利要求6所述的表單生成方法,其特征在于,所述步驟206具體包括在所述數(shù)據(jù)庫(kù)中不存在表結(jié)構(gòu)時(shí),根據(jù)所述UI元數(shù)據(jù),直接生成所述表結(jié)構(gòu);在所述數(shù)據(jù)庫(kù)中已存在表結(jié)構(gòu)時(shí),根據(jù)所述UI元數(shù)據(jù)生成最新表結(jié)構(gòu)信息,以及根據(jù)已存在的表結(jié)構(gòu)的元數(shù)據(jù)生成歷史表結(jié)構(gòu)信息,對(duì)比所述最新表結(jié)構(gòu)信息與所述歷史表結(jié)構(gòu)信息,并在兩者不同時(shí),根據(jù)所述最新表結(jié)構(gòu)信息,將所述已存在的表結(jié)構(gòu)更新為所述表結(jié)構(gòu),并將所述已存在的表結(jié)構(gòu)中的數(shù)據(jù)復(fù)制進(jìn)所述表結(jié)構(gòu)。
9.根據(jù)權(quán)利要求6所述的表單生成方法,其特征在于,在所述步驟208中,包括將所述表單模板中的控件標(biāo)簽轉(zhuǎn)化為對(duì)應(yīng)不同客戶端的標(biāo)簽,以生成新模板,并根據(jù)新模板中的標(biāo)簽進(jìn)行渲染,以生成對(duì)應(yīng)所述不同客戶端的所述可編程控件。
10.根據(jù)權(quán)利要求6至9中任一項(xiàng)所述的表單生成方法,其特征在于,所述步驟202還包括通過(guò)微內(nèi)核擴(kuò)展插件,來(lái)配置或修改所述表單模板和所述UI元數(shù)據(jù)。
全文摘要
本發(fā)明提供了一種表單生成裝置和一種表單生成方法,其中,表單生成裝置包括模板配置模塊,配置或修改表單模板以及所述表單模板中的UI元數(shù)據(jù);模板解析模塊,從所述表單模板中解析出所述UI元數(shù)據(jù);表結(jié)構(gòu)更新模塊,根據(jù)所述UI元數(shù)據(jù),在數(shù)據(jù)庫(kù)中生成表結(jié)構(gòu);模板渲染模塊,根據(jù)所述UI元數(shù)據(jù)和所述表結(jié)構(gòu),將所述表單模板渲染成可編程控件,以用于生成自定義表單。通過(guò)本發(fā)明,用戶只需在模板配置模塊等表單設(shè)計(jì)器中配置表單模板,則可以自動(dòng)解析生成控件元數(shù)據(jù)和布局元數(shù)據(jù),并生成元數(shù)據(jù)對(duì)應(yīng)的表結(jié)構(gòu),以在將表單模板渲染時(shí)使用,不需用戶進(jìn)行元數(shù)據(jù)以及對(duì)應(yīng)數(shù)據(jù)庫(kù)表的修改。
文檔編號(hào)G06F9/44GK102360290SQ201110298248
公開(kāi)日2012年2月22日 申請(qǐng)日期2011年9月29日 優(yōu)先權(quán)日2011年9月29日
發(fā)明者田傳武 申請(qǐng)人:用友軟件股份有限公司