一種web控件的生成方法及裝置制造方法
【專利摘要】本發(fā)明提出了一種web控件的生成方法,包括如下步驟:輸入生成web控件的必要信息;判斷要生成的web控件是否已經(jīng)存在,如是,移除所述web控件并執(zhí)行下一步驟;否則,執(zhí)行下一步驟;對所述必要信息進行處理使其變成符合json規(guī)范的格式數(shù)據(jù);所述格式數(shù)據(jù)包括必需的數(shù)組,所述數(shù)組有一個或多個元素組成;依次讀取所述數(shù)組中的元素并自動生成對象后得到所述web控件。本發(fā)明還涉及一種實現(xiàn)上述方法的裝置。實施本發(fā)明的web控件的生成方法及裝置,具有以下有益效果:代碼較少、靈活性較好、控件生成效率較高。
【專利說明】—種web控件的生成方法及裝置
【技術領域】
[0001]本發(fā)明涉及web框架領域,特別涉及一種web控件的生成方法及裝置。
【背景技術】
[0002]現(xiàn)有Javascript實現(xiàn)的webUI庫/框架,在設計時將各種UI控件分別實現(xiàn),每個控件都需要用不同的程序來生成,所以存在代碼較多的問題。同時在由一個控件變成另一個控件時,其用來生成控件的程序要完全改變,需要開發(fā)人員重新編寫程序,其工作量較大,大大耗費了開發(fā)人員的精力,這樣造成靈活性較差,控件生成效率較低等問題。
【發(fā)明內(nèi)容】
[0003]本發(fā)明要解決的技術問題在于,針對現(xiàn)有技術的上述代碼較多、靈活性較差、控件生成效率較低的缺陷,提供一種代碼較少、靈活性較好、控件生成效率較高的web控件的生成方法及裝置。
[0004]本發(fā)明解決其技術問題所采用的技術方案是:構造一種web控件的生成方法,包括如下步驟:
A)輸入生成web控件的必要信息;
B)判斷要生成的web控件是否已經(jīng)存在,如是,移除所述web控件,并執(zhí)行步驟C);否貝U,執(zhí)行步驟C);
C)對所述必要信息進行處理使其變成符合json規(guī)范的格式數(shù)據(jù);所述格式數(shù)據(jù)包括必需的數(shù)組,所述數(shù)組有一個或多個元素組成;
D)依次讀取所述數(shù)組中的元素并自動生成對象后得到所述web控件。
[0005]在本發(fā)明所述的web控件的生成方法中,所述格式數(shù)據(jù)還包括樣式信息;所述步驟D)進一步包括:
Dl)讀取所述數(shù)組中的元素;
D2)判斷所述數(shù)組中的元素是否讀取完畢,如是,執(zhí)行步驟D3);否則,返回步驟Dl)讀取下一個元素;
D3)自動生成對象;
D4)依據(jù)所述樣式信息設置所述對象的樣式;
D5)所述web控件生成完畢。
[0006]在本發(fā)明所述的web控件的生成方法中,所述數(shù)組中的每一個元素都會生成一個對象。
[0007]在本發(fā)明所述的web控件的生成方法中,在所述步驟D)之后還包括:
E)利用生成的web控件來生成用于輸入所述必要信息的表格。
[0008]在本發(fā)明所述的web控件的生成方法中,所述必要信息包括控件id、調(diào)用頁面、所述子系統(tǒng)、控件寬度、控件高度、屬性、控件間隙、邊界、選擇項、控件點擊事件、文本數(shù)組、對象的樣式、所生成文本的返回方式、是否可拖動、拖動方向和透明程度。[0009]本發(fā)明還涉及一種實現(xiàn)上述web控件的生成方法的裝置,包括:
信息輸入單兀:用于輸入生成web控件的必要信息;
控件判斷單元:用于判斷要生成的web控件是否已經(jīng)存在,如是,移除所述web控件;信息處理單元:用于對所述必要信息進行處理使其變成符合json規(guī)范的格式數(shù)據(jù);所述格式數(shù)據(jù)包括必需的數(shù)組,所述數(shù)組有一個或多個元素組成;
讀取單元:用于依次讀取所述數(shù)組中的元素并自動生成對象后得到所述web控件。
[0010]在本發(fā)明所述的實現(xiàn)上述web控件的生成方法的裝置中,所述格式數(shù)據(jù)還包括樣式信息;所述讀取單元進一步包括:
元素讀取模塊:用于讀取所述數(shù)組中的元素;
讀取判斷模塊:用于判斷所述數(shù)組中的元素是否讀取完畢,在未讀取完畢時讀取下一個元素;對象生成模塊:用于自動生成對象;
樣式設置模塊:用于依據(jù)所述樣式信息設置所述對象的樣式;
控件生成模塊:用于使所述web控件生成完畢。
[0011]在本發(fā)明所述的實現(xiàn)上述web控件的生成方法的裝置中,所述數(shù)組中的每一個元素都會生成一個對象。
[0012]在本發(fā)明所述的實現(xiàn)上述web控件的生成方法的裝置中,所述裝置還包括: 表格生成單元:用于利用生成的web控件來生成用于輸入所述必要信息的表格。
[0013]在本發(fā)明所述的實現(xiàn)上述web控件的生成方法的裝置中,所述必要信息包括控件id、調(diào)用頁面、所述子系統(tǒng)、控件寬度、控件高度、屬性、控件間隙、邊界、選擇項、控件點擊事件、文本數(shù)組、對象的樣式、所生成文本的返回方式、是否可拖動、拖動方向和透明程度。
[0014]實施本發(fā)明的web控件的生成方法及裝置,具有以下有益效果:由于輸入生成web控件的必要信息后,對其進行處理使其變成符合json規(guī)范的格式數(shù)據(jù);上述格式數(shù)據(jù)包括必需的數(shù)組,該數(shù)組有一個或多個元素組成;依次讀取數(shù)組中的元素并自動生成對象后得到所述web控件,這樣用一個程序就可以生成多個控件,所以其代碼較少,同時在由一個控件變成另一個控件時,不需要改變整個程序,只需要改變某些參數(shù)就可以了,所以其靈活性較好,控件生成效率較高。
【專利附圖】
【附圖說明】
[0015]為了更清楚地說明本發(fā)明實施例或現(xiàn)有技術中的技術方案,下面將對實施例或現(xiàn)有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些實施例,對于本領域普通技術人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
[0016]圖1為本發(fā)明web控件的生成方法及裝置一個實施例中對象的構成示意圖;
圖2為所述實施例中方法的流程圖;
圖3為所述實施例中依次讀取數(shù)組中的元素并自動生成對象后得到web控件的具體流程圖;
圖4是所述實施例中裝置的結(jié)構示意圖。
【具體實施方式】[0017]下面將結(jié)合本發(fā)明實施例中的附圖,對本發(fā)明實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本發(fā)明一部分實施例,而不是全部的實施例?;诒景l(fā)明中的實施例,本領域普通技術人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他實施例,都屬于本發(fā)明保護的范圍。
[0018]本發(fā)明web控件的生成方法或webn框架的開發(fā)方法采取了與眾不同的設計思路。
將各種webUI控件(web控件)看成都是由I個或N個類似對象構成。這種對象在實施例中命名為a,因為它也能實現(xiàn)web中a標簽的作用。通常a表現(xiàn)為一個嵌套了幾個標簽的div對象。完整的a的構成如圖1所示。圖1中,a為對象,a0、al和a2分別是a的子對象。
[0019]本實施例中,通過生成I個或N個a對象來構建以下UI控件:菜單、多態(tài)按鍵、多選、單選、文本輸入,并可以以此為基礎構建更復雜的Π控件。在本發(fā)明web控件的生成方法及裝置實施例中,其方法的流程圖如圖2所示。圖2中,該web控件的生成方法包括如下步驟:
步驟SOl輸入生成web控件的必要信息:本步驟中,首先輸入生成web控件的必要信息,這些必要信息包括控件id、調(diào)用頁面、所述子系統(tǒng)、控件寬度、控件高度、屬性、控件間隙、邊界、選擇項、控件點擊事件、文本數(shù)組、對象的樣式、所生成文本的返回方式、是否可拖動、拖動方向和透明程度等等。當然,根據(jù)實際需要,開發(fā)者可以自己定義所需要的必要信息的內(nèi)容。本實施例中,在對上述必要信息進行配置時,具體配置如下:cid:控件id ;在程序調(diào)用時用到;ctn:調(diào)用頁面;galx:所屬子系統(tǒng);w:控件寬度;h:控件高度;
Z:相當于CSS中的float屬性。-1左浮動,-2右浮動; s:控件間隙;
marg:邊界;相當于css的margin ;
ncheck:選擇項;其值等于I時單選,值大于I時復選,值等于_2時單選并恢復樣式; cfun:控件點擊事件;
ca:文本數(shù)組;以 ' 分割的字符串,可同時設置多個相同樣式,但不同文本及方法事件的UI控件;
classO:對應構成圖1中a0的樣式;
classl:對應構成圖1中al的樣式;
class2:對應構成圖1中a2的樣式;
cret:本方法所生成的文本的返回方式(替換、追加);
cxy:是否可拖動及拖動方向;
op:透明程度。
[0020]步驟S02判斷要生成的web控件是否已經(jīng)存在:本步驟中,判斷要生成的web控件是否已經(jīng)存在,如果判斷的結(jié)果為是,則執(zhí)行步驟S03 ;否則,執(zhí)行步驟S04。[0021]步驟S03移除web控件:如果上述步驟S02的判斷結(jié)果為是,則執(zhí)行本步驟。本步驟中,移除web控件,執(zhí)行完本步驟,執(zhí)行步驟S04。
[0022]步驟S04對必要信息進行處理使其變成符合json規(guī)范的格式數(shù)據(jù):如果上述步驟S02的判斷結(jié)果為否,則執(zhí)行本步驟。本步驟中,對上述必要信息進行處理使其變成符合json規(guī)范的格式數(shù)據(jù),該格式數(shù)據(jù)包括必需的數(shù)組,該數(shù)組有一個或多個元素組成,例如:該數(shù)組由一個或N個元素組成。
[0023]步驟S05依次讀取數(shù)組中的元素并自動生成對象后得到web控件:本步驟中,依次讀取數(shù)組中的元素并自動生成對象后得到web控件,也就是循環(huán)遍歷數(shù)組元素,如果數(shù)組的長度是I或者N,則對應生成I個或者N個a(對象),這樣就得到了所要的web控件。這樣用一個程序就可以生成多個控件,所以其代碼較少,同時在由一個控件變成另一個控件時,不需要改變整個程序,只需要改變某些參數(shù)就可以了,所以其靈活性較好,控件生成效率較聞。
[0024]在本實施例的一些情況下,為了使輸入上述必要信息變得更方便、更直觀,則在執(zhí)行完上述步驟S05之后,還需要執(zhí)行一個步驟:
步驟S06利用生成的web控件來生成用于輸入必要信息的表格:本步驟中,利用上述步驟S05中生成的web控件,來生成用于輸入上述必要信息的表格,也就是有了這個表格之后,只需要在表格中輸入上述必要信息就可以了,這樣更加方便,且看起來比較直觀。
[0025]本實施例中,上述格式數(shù)據(jù)還包括樣式信息;上述步驟S05還可進一步細化,其細化后的流程圖如圖3所示。圖3中,上述步驟S05進一步包括:
步驟S51讀取數(shù)組中的元素:本步驟中,讀取數(shù)組中的元素,值得一提的是,首先讀取數(shù)組中的第一個元素。
[0026]步驟S52判斷數(shù)組中的元素是否讀取完畢:本步驟中,判斷上述數(shù)組中的元素是否讀取完畢,如果判斷的結(jié)果為是,則執(zhí)行步驟S53 ;否則,返回步驟S51按照順序讀取下一個元素.步驟S53自動生成對象:如果上述步驟S52的判斷結(jié)果為是,即數(shù)組中元素都被讀取完畢,則執(zhí)行本步驟。本步驟中,自動生成對象,值得一提的是,本實施例中,數(shù)組中的每一個元素都會生成一個對象。例如:如果數(shù)組中只有一個元素,則生成一個對象;如果數(shù)組中有N個元素,則對應生成N個對象。
[0027]步驟S54依據(jù)樣式信息設置對象的樣式:本步驟中,依據(jù)樣式信息設置對象的樣式,也就是根據(jù)每個數(shù)組元素的配置屬性,例如:根據(jù)控件寬度、控件高度、屬性、控件間隙、邊界、選擇項、控件點擊事件、文本數(shù)組、a0的樣式、al的樣式、a2的樣式、所生成文本的返回方式、是否可拖動、拖動方向和透明程度等等,設置a的樣式。
[0028]步驟S55web控件生成完畢:本步驟中,web控件生成完畢。這樣通過將控件抽象成I個或多個對象,并通過一定的程序自動生成對象,從而也就生成了 web控件,其只需要一個程序就可以生成多個控件,所以其代碼較少;此外,當由一個控件變成另一個控件時,其只需要改變某些參數(shù)就可以了,不再需要完全改變程序,所以其靈活性較好,生成效率較聞。
[0029]本實施例還涉及一種實現(xiàn)上述web控件的生成方法的裝置,其結(jié)構示意圖如圖4所示。圖4中,該裝置包括信息輸入單元1、控件判斷單元2、信息處理單元3和讀取單元4 ;其中,信息輸入單元I用于輸入生成web控件的必要信息;控件判斷單元2用于判斷要生成的web控件是否已經(jīng)存在,如是,移除web控件;信息處理單元3用于對必要信息進行處理使其變成符合json規(guī)范的格式數(shù)據(jù);上述格式數(shù)據(jù)包括必需的數(shù)組,上述數(shù)組有一個或多個元素組成;讀取單元4用于依次讀取數(shù)組中的元素并自動生成對象后得到web控件。值得一提的是,上述必要信息包括控件id、調(diào)用頁面、所述子系統(tǒng)、控件寬度、控件高度、屬性、控件間隙、邊界、選擇項、控件點擊事件、文本數(shù)組、對象的樣式、所生成文本的返回方式、是否可拖動、拖動方向和透明程度等等。這樣用一個程序就可以生成多個控件,所以其代碼較少,同時在由一個控件變成另一個控件時,不需要改變整個程序,只需要改變某些參數(shù)就可以了,所以其靈活性較好,控件生成效率較高。
[0030]本實施例中,上述格式數(shù)據(jù)還包括樣式信息;上述讀取單元4進一步包括元素讀取模塊41、讀取判斷模塊42、對象生成模塊43、樣式設置模塊44和控件生成模塊45 ;其中,元素讀取模塊41用于讀取數(shù)組中的元素;讀取判斷模塊42用于判斷數(shù)組中的元素是否讀取完畢,在未讀取完畢時讀取下一個元素;對象生成模塊43用于自動生成對象;樣式設置模塊44用于依據(jù)樣式信息設置對象的樣式;控件生成模塊45用于使web控件生成完畢。值得一提的是,上述數(shù)組中的每一個元素都會生成一個對象。例如:如果數(shù)組中只有一個元素,則生成一個對象;如果數(shù)組中有N個元素,則對應生成N個對象。這樣通過將控件抽象成I個或多個對象,并通過一定的程序自動生成對象,從而也就生成了 web控件,其只需要一個程序就可以生成多個控件,所以其代碼較少;此外,當由一個控件變成另一個控件時,其只需要改變某些參數(shù)就可以了,不再需要完全改變程序,所以其靈活性較好,生成效率較聞。
[0031]在本實施例的一些情況下,為了使輸入上述必要信息變得更方便、更直觀,上述裝置還包括表格生成單元5,該表格生成單元5用于利用生成的web控件來生成用于輸入必要信息的表格。也就是有了這個表格之后,只需要在表格中輸入上述必要信息就可以了,這樣更加方便,且看起來比較直觀。
[0032]總之,在本實施例中,通過將各種webH控件抽象成由I個或多個對象構成的,然后通過生成I或N個a對象來構建web控件。這樣用一個程序就可以生成多個控件,所以其代碼較少,同時在由一個控件變成另一個控件時,不需要改變整個程序,只需要改變某些參數(shù)就可以了,所以其靈活性較好,控件生成效率較高。
[0033]以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
【權利要求】
1.一種web控件的生成方法,其特征在于,包括如下步驟: A)輸入生成web控件的必要信息; B)判斷要生成的web控件是否已經(jīng)存在,如是,移除所述web控件,并執(zhí)行步驟C);否貝U,執(zhí)行步驟C); C)對所述必要信息進行處理使其變成符合json規(guī)范的格式數(shù)據(jù);所述格式數(shù)據(jù)包括必需的數(shù)組,所述數(shù)組有一個或多個元素組成; D)依次讀取所述數(shù)組中的元素并自動生成對象后得到所述web控件。
2.根據(jù)權利要求1所述的web控件的生成方法,其特征在于,所述格式數(shù)據(jù)還包括樣式信息;所述步驟D)進一步包括: Dl)讀取所述數(shù)組中的元素; D2)判斷所述數(shù)組中的元素是否讀取完畢,如是,執(zhí)行步驟D3);否則,返回步驟Dl)讀取下一個元素; D3)自動生成對象; D4)依據(jù)所述樣式信息設置所述對象的樣式; D5)所述web控件生成完畢。
3.根據(jù)權利要求2所述的web控件的生成方法,其特征在于,所述數(shù)組中的每一個元素都會生成一個對象。
4.根據(jù)權利要求1所述的web控件的生成方法,其特征在于,在所述步驟D)之后還包括:E)利用生成的web控件來生成用于輸入所述必要信息的表格。
5.根據(jù)權利要求1至4任意一項所述的web控件的生成方法,其特征在于,所述必要信息包括控件id、調(diào)用頁面、所述子系統(tǒng)、控件寬度、控件高度、屬性、控件間隙、邊界、選擇項、控件點擊事件、文本數(shù)組、對象的樣式、所生成文本的返回方式、是否可拖動、拖動方向和透明程度。
6.一種實現(xiàn)如權利要求1所述的web控件的生成方法的裝置,其特征在于,包括: 信息輸入單兀:用于輸入生成web控件的必要信息; 控件判斷單元:用于判斷要生成的web控件是否已經(jīng)存在,如是,移除所述web控件;信息處理單元:用于對所述必要信息進行處理使其變成符合json規(guī)范的格式數(shù)據(jù);所述格式數(shù)據(jù)包括必需的數(shù)組,所述數(shù)組有一個或多個元素組成; 讀取單元:用于依次讀取所述數(shù)組中的元素并自動生成對象后得到所述web控件。
7.根據(jù)權利要求6所述的實現(xiàn)上述web控件的生成方法的裝置,其特征在于,所述格式數(shù)據(jù)還包括樣式信息;所述讀取單元進一步包括: 元素讀取模塊:用于讀取所述數(shù)組中的元素; 讀取判斷模塊:用于判斷所述數(shù)組中的元素是否讀取完畢,在未讀取完畢時讀取下一個元素;對象生成模塊:用于自動生成對象; 樣式設置模塊:用于依據(jù)所述樣式信息設置所述對象的樣式; 控件生成模塊:用于使所述web控件生成完畢。
8.根據(jù)權利要求7所述的實現(xiàn)上述web控件的生成方法的裝置,其特征在于,所述數(shù)組中的每一個元素都會生成一個對象。
9.根據(jù)權利要求6所述的實現(xiàn)上述web控件的生成方法的裝置,其特征在于,所述裝置還包括: 表格生成單元:用于利用生成的web控件來生成用于輸入所述必要信息的表格。
10.根據(jù)權利要求6至9任意一項所述的實現(xiàn)上述web控件的生成方法的裝置,其特征在于,所述必要信息包括控件id、調(diào)用頁面、所述子系統(tǒng)、控件寬度、控件高度、屬性、控件間隙、邊界、選擇項、控件點擊事件、文本數(shù)組、對象的樣式、所生成文本的返回方式、是否可拖動、拖動方向和透明程度。`
【文檔編號】G06F9/44GK103823681SQ201410062834
【公開日】2014年5月28日 申請日期:2014年2月24日 優(yōu)先權日:2014年2月24日
【發(fā)明者】劉武豐 申請人:廣州精攻網(wǎng)絡科技有限公司