一種表單再現(xiàn)的實(shí)現(xiàn)方法【專利摘要】本發(fā)明提出了一種表單再現(xiàn)的實(shí)現(xiàn)方法,所述方法包括以下步驟:a.為用戶提供一表格形式設(shè)計(jì)界面,包括設(shè)計(jì)區(qū)域和工具欄,設(shè)計(jì)區(qū)域?yàn)榭删庉嫷膯卧?,工具欄包含可設(shè)定屬性和樣式的功能按鈕或選項(xiàng),用戶基于該界面自定義表單內(nèi)容;b.識(shí)別用戶自定義的表單內(nèi)容,包括:識(shí)別用戶在任意單元格自定義的數(shù)據(jù)和/或?qū)傩裕蛔R(shí)別自定義的數(shù)據(jù)和/或?qū)傩缘臉邮郊安季治恢?;c.捕獲設(shè)計(jì)完成的表單區(qū)域,將該區(qū)域內(nèi)的表單內(nèi)容轉(zhuǎn)換為格式化數(shù)據(jù),并存儲(chǔ)為可解析源文件;d.解析表單源文件,將其再現(xiàn)為可交互的表單界面。本發(fā)明將用戶自定義的表單內(nèi)容以格式化數(shù)據(jù)存儲(chǔ),可方便解析時(shí)快速、準(zhǔn)確地定位數(shù)據(jù)以再現(xiàn)用戶自主設(shè)計(jì)的表單界面?!緦@f明】一種表單再現(xiàn)的實(shí)現(xiàn)方法【
技術(shù)領(lǐng)域:
】[0001]本發(fā)明涉及表單設(shè)計(jì),尤其涉及一種表單再現(xiàn)的實(shí)現(xiàn)方法?!?br>背景技術(shù):
】[0002]表單,作為數(shù)據(jù)采集的入口,是軟件應(yīng)用系統(tǒng)中的重要元素。一個(gè)優(yōu)秀的表單可以為用戶起到友好的指引作用,也給用戶帶來良好的用戶體驗(yàn)。[0003]現(xiàn)有技術(shù)中的表單設(shè)計(jì)工具,通常封裝了許多復(fù)雜的組件和控件,多面向?qū)I(yè)開發(fā)人員設(shè)計(jì)使用,在表單設(shè)計(jì)完成后,一般需要經(jīng)過與其他代碼整合、編譯、部署甚至數(shù)據(jù)庫等支持才能將表單完整地呈現(xiàn),其表單再現(xiàn)過程較為耗時(shí)且占用大量的代碼空間和編譯時(shí)間?!?br/>發(fā)明內(nèi)容】[0004]基于上述背景,本發(fā)明提出一種表單再現(xiàn)的實(shí)現(xiàn)方法,旨在通過解析源文件的方式快速便捷地再現(xiàn)用戶設(shè)計(jì)的表單。[0005]本發(fā)明的主要技術(shù)方案為:[0006]一種表單再現(xiàn)的實(shí)現(xiàn)方法,包括以下步驟:[0007]a.為用戶提供一表格形式設(shè)計(jì)界面,包括設(shè)計(jì)區(qū)域和工具欄,設(shè)計(jì)區(qū)域?yàn)榭删庉嫷膯卧?,工具欄包含可設(shè)定屬性和樣式的功能按鈕或選項(xiàng),用戶基于該界面自定義表單內(nèi)容;[0008]b.識(shí)別用戶自定義的表單內(nèi)容,包括:[0009]識(shí)別用戶在任意單元格自定義的數(shù)據(jù)和/或?qū)傩?;[0010]識(shí)別用戶自定義數(shù)據(jù)和/或?qū)傩缘臉邮郊安季治恢茫籟0011]c.捕獲設(shè)計(jì)完成的表單區(qū)域,將該區(qū)域內(nèi)的表單內(nèi)容轉(zhuǎn)換為格式化數(shù)據(jù),并存儲(chǔ)為可解析源文件;[0012]d.解析表單源文件,將其再現(xiàn)為可交互的表單界面,包括:[0013]依據(jù)格式化規(guī)則讀取格式化數(shù)據(jù)中的各個(gè)關(guān)鍵字及鍵值;[0014]根據(jù)各個(gè)關(guān)鍵字和鍵值所代表的含義,將格式化數(shù)據(jù)解析為對(duì)應(yīng)的表單元素;[0015]識(shí)別表單元素,將其再現(xiàn)為可交互的表單界面。[0016]進(jìn)一步,所述步驟a中,所述可編輯的單元格包括可選定和編輯內(nèi)容的單元格。[0017]進(jìn)一步,所述步驟b中,所述識(shí)別用戶在任意單元格自定義的數(shù)據(jù)和/或?qū)傩园?[0018]用戶在任意單元格內(nèi)自定義數(shù)據(jù)后,該單元格內(nèi)的數(shù)據(jù)作為默認(rèn)格式展現(xiàn);若用戶在與該單元格相鄰的單元格內(nèi)定義了屬性,則將該單元格內(nèi)的數(shù)據(jù)標(biāo)識(shí)為與相鄰單元格屬性對(duì)應(yīng)的屬性名稱。[0019]進(jìn)一步,所述步驟c中,所述表單區(qū)域包括:[0020]非空單元格所在的最上行邊界、最下行邊界,與非空單元格所在的最左列邊界、最右列邊界所形成的矩形區(qū)域。[0021]進(jìn)一步,所述非空單元格包括:已定義數(shù)據(jù)內(nèi)容或?qū)傩缘膯卧?。[0022]進(jìn)一步,所述的屬性包括可設(shè)置限定條件的數(shù)據(jù)類型,限定條件包括長(zhǎng)度、大小。[0023]在該技術(shù)方案中,以表格作為設(shè)計(jì)界面,可以方便用戶像使用辦公表格一樣設(shè)計(jì)表單內(nèi)容和布局,同時(shí)也利于軟件系統(tǒng)準(zhǔn)確定位表單內(nèi)容。另外,將用戶自定義的表單內(nèi)容以格式化數(shù)據(jù)存儲(chǔ)為源文件,既節(jié)省代碼空間、便于存儲(chǔ),又方便解析時(shí)快速、準(zhǔn)確地讀取數(shù)據(jù)。而且,源文件的方式不局限于生成web表單或本地客戶端表單,可以更靈活地支持多種表單實(shí)現(xiàn)方式,以再現(xiàn)用戶自主設(shè)計(jì)的表單界面?!緦@綀D】【附圖說明】[0024]圖1為本發(fā)明實(shí)施例提供的表單再現(xiàn)的實(shí)現(xiàn)方法的流程圖。【具體實(shí)施方式】[0025]為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚明白,下面結(jié)合具體實(shí)施例和附圖對(duì)本發(fā)明進(jìn)一步闡述。[0026]參見圖1所示,本發(fā)明提供的表單再現(xiàn)的實(shí)現(xiàn)方法主要包括如下的步驟:[0027]步驟101,基于表格設(shè)計(jì)界面自定義表單內(nèi)容。[0028]本發(fā)明實(shí)施例中,為用戶提供表格形式的設(shè)計(jì)界面,設(shè)計(jì)界面包含設(shè)計(jì)區(qū)域和工具欄。其中,設(shè)計(jì)區(qū)域?yàn)榭删庉嫷谋砀?,形如excel表格形式,用戶可在任意單元格內(nèi)自定義表單內(nèi)容;工具欄包含可設(shè)定樣式和屬性的功能按鈕或選項(xiàng),方便用戶靈活設(shè)計(jì)表單內(nèi)容的顯示效果和自定義屬性。[0029]另外,用戶自定義屬性時(shí),包括:用戶可為自定義的表單數(shù)據(jù)選擇數(shù)據(jù)類型并限定其約束條件,例如用戶需要定義具有文本屬性的姓名,則可以選擇文本數(shù)據(jù)類型,并限定其長(zhǎng)度不超過20個(gè)字符。[0030]步驟102,識(shí)別表單內(nèi)容。該步驟包括:[0031]識(shí)別用戶在任意單元格自定義的數(shù)據(jù)和/或?qū)傩?。用戶在任意單元格?nèi)自定義數(shù)據(jù)后,該單元格內(nèi)的數(shù)據(jù)作為默認(rèn)格式展現(xiàn),例如在任意單元格輸入內(nèi)容“日期”,則默認(rèn)將其作為文本識(shí)別;若用戶在與該單元格相鄰的右側(cè)單元格內(nèi)定義了屬性為日期數(shù)據(jù)類型,則將該單元格內(nèi)的“日期”標(biāo)識(shí)為與右側(cè)單元格日期屬性對(duì)應(yīng)的屬性名稱,標(biāo)識(shí)對(duì)應(yīng)關(guān)系后,用戶改變其中任意一個(gè)單元格內(nèi)容的布局,不影響其對(duì)應(yīng)關(guān)系;需要說明的是,本實(shí)施例以常見的屬性名稱與屬性左右對(duì)齊方式進(jìn)行闡述,因此以相鄰的右側(cè)單元格為例,但本發(fā)明的技術(shù)方案并不僅限于此。多樣化的表單設(shè)計(jì)中,也可能出現(xiàn)屬性名稱與屬性上下對(duì)齊或其他對(duì)齊方式,也可以選擇相鄰的下方單元格或其他單元格。[0032]識(shí)別用戶自定義數(shù)據(jù)和/或?qū)傩缘臉邮郊安季治恢?。?duì)于設(shè)置了樣式的單元格內(nèi)容,將其多種樣式作為整體樣式信息存儲(chǔ),例如字體的顏色、大小等;表單內(nèi)容的布局位置則以單元格所在表單設(shè)計(jì)區(qū)域的行列值來識(shí)別。[0033]步驟103,判斷是否設(shè)計(jì)完成,已完成則執(zhí)行步驟104,否則,返回步驟101,繼續(xù)設(shè)計(jì)表單;[0034]步驟104,捕捉設(shè)計(jì)完成的表單區(qū)域。[0035]識(shí)別非空單元格所在的最上行邊界、最下行邊界、最左列邊界、最右列邊界,其所形成的矩形區(qū)域?yàn)橛脩粼O(shè)計(jì)完成的表單區(qū)域,矩形外的空白表格區(qū)域忽略不計(jì)。非空單元格包括已定義了數(shù)據(jù)內(nèi)容或?qū)傩缘膯卧?;[0036]步驟105,格式化表單內(nèi)容,存儲(chǔ)為源文件。[0037]將自定義的數(shù)據(jù)、屬性、樣式和布局位置轉(zhuǎn)換為格式化數(shù)據(jù),其數(shù)據(jù)格式可以是現(xiàn)有的數(shù)據(jù)交互格式如json、xml等,或其他約定規(guī)則的數(shù)據(jù)格式。例如屬性可使用json串形式表不為{"sysid":"U01020","proname":"姓名","propdatatype":"STR","proplength"..”20"},表示該屬性定義了姓名為字符串形式,且長(zhǎng)度不超過20個(gè)字符。[0038]再如,為方便web表單應(yīng)用,表單內(nèi)容也可用形如html語言中的table控件格式表不:[0039]〈table〉[0040]<tr>[0041]<tdbgcolor="red">姓名:〈/td>[0042]<td><!—propertyschema—></td>[0043]</tr>[0044]......[0045]〈/table〉[0046]將格式化后的數(shù)據(jù)存儲(chǔ)為可解析的源文件,如文本文件、xml文件、html文件等。[0047]步驟106,解析源文件。該步驟包括:[0048]讀取文件中的格式化數(shù)據(jù),并根據(jù)約定的格式化規(guī)則讀取數(shù)據(jù)中的關(guān)鍵字(key)和鍵值(value);[0049]根據(jù)關(guān)鍵字和鍵值所代表的含義,將其解析為對(duì)應(yīng)的表單元素,表單元素包括使用html、xml、VFP等語言設(shè)計(jì)的表單語言或控件。例如將步驟105中的屬性{"sysid":"U01020","proname":"姓名","propdatatype":"STR","propIength":"20"}解析為html表單元素,貝U可表示為:〈inputtype="text"name="姓名"maxlength="20">。[0050]步驟107,將解析后的表單內(nèi)容再現(xiàn)。將解析后得到的表單元素,結(jié)合對(duì)應(yīng)的表單設(shè)計(jì)語言,封裝后形成完整的表單界面再現(xiàn)給用戶使用。例如,步驟105中的table格式數(shù)據(jù)解析成對(duì)應(yīng)的html語言的table控件后,則可直接嵌入到html頁面中使用,從而再現(xiàn)為表格。[0051]需要進(jìn)一步說明的是,本領(lǐng)域的技術(shù)人員應(yīng)當(dāng)意識(shí)到,本實(shí)施例中所使用的數(shù)據(jù)格式和代碼語言僅為了更清楚地闡述本發(fā)明的技術(shù)方案而舉例,而非對(duì)本發(fā)明的限制,本發(fā)明的技術(shù)方案并不僅限于此。[0052]以上所述,僅為本發(fā)明較佳的【具體實(shí)施方式】,對(duì)于熟悉本領(lǐng)域的技術(shù)人員來說,任何不脫離本發(fā)明構(gòu)思的前提下,做出的若干變形和改進(jìn),都應(yīng)涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)?!緳?quán)利要求】1.一種表單再現(xiàn)的實(shí)現(xiàn)方法,其特征在于,該方法包括以下步驟:a.為用戶提供一表格形式設(shè)計(jì)界面,包括設(shè)計(jì)區(qū)域和工具欄,設(shè)計(jì)區(qū)域?yàn)榭删庉嫷膯卧?,工具欄包含可設(shè)定屬性和樣式的功能按鈕或選項(xiàng),用戶基于該界面自定義表單內(nèi)容;b.識(shí)別用戶自定義的表單內(nèi)容,包括:識(shí)別用戶在任意單元格自定義的數(shù)據(jù)和/或?qū)傩?;識(shí)別用戶自定義數(shù)據(jù)和/或?qū)傩缘臉邮郊安季治恢?;c.捕獲設(shè)計(jì)完成的表單區(qū)域,將該區(qū)域內(nèi)的表單內(nèi)容轉(zhuǎn)換為格式化數(shù)據(jù),并存儲(chǔ)為可解析源文件;d.解析表單源文件,將其再現(xiàn)為可交互的表單界面,包括:依據(jù)格式化規(guī)則讀取格式化數(shù)據(jù)中的各個(gè)關(guān)鍵字及鍵值;根據(jù)各個(gè)關(guān)鍵字和鍵值所代表的含義,將格式化數(shù)據(jù)解析為對(duì)應(yīng)的表單元素;識(shí)別表單元素,將其再現(xiàn)為可交互的表單界面。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟a中,所述可編輯的單元格包括可選定和編輯內(nèi)容的單元格。3.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟b中,所述識(shí)別用戶在任意單元格自定義的數(shù)據(jù)和/或?qū)傩园?用戶在任意單元格內(nèi)自定義數(shù)據(jù)后,該單元格內(nèi)的數(shù)據(jù)作為默認(rèn)格式展現(xiàn);若用戶在與該單元格相鄰的單元格內(nèi)定義了屬性,則將該單元格內(nèi)的數(shù)據(jù)標(biāo)識(shí)為與相鄰單元格屬性對(duì)應(yīng)的屬性名稱。4.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟c中,所述表單區(qū)域包括:非空單元格所在的最上行邊界、最下行邊界,與非空單元格所在的最左列邊界、最右列邊界所形成的矩形區(qū)域。5.根據(jù)權(quán)利要求4所述的方法,其特征在于,所述非空單元格包括:已定義數(shù)據(jù)內(nèi)容或?qū)傩缘膯卧瘛?.根據(jù)權(quán)利要求1、3、5任一項(xiàng)所述的方法,其特征在于,所述的屬性包括可設(shè)置限定條件的數(shù)據(jù)類型,限定條件包括長(zhǎng)度、大小?!疚臋n編號(hào)】G06F9/44GK104298489SQ201310295516【公開日】2015年1月21日申請(qǐng)日期:2013年7月16日優(yōu)先權(quán)日:2013年7月16日【發(fā)明者】牟春林申請(qǐng)人:蘇州精易會(huì)信息技術(shù)有限公司