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