專利名稱::一種基于數(shù)據(jù)定義的web頁面快速生成方法及裝置的制作方法
技術(shù)領(lǐng)域:
:本發(fā)明涉及WEB頁面技術(shù),特別是指一種WEB頁面快速生成模型(PageFastGeneratingModel,PFGM)。
背景技術(shù):
:目前的WEB的開發(fā)過程都需要經(jīng)過頁面設(shè)計、才莫型設(shè)計、控制程序設(shè)計的過程,對于很多相似的頁面需要重復(fù)的設(shè)計頁面,模型和控制程序重復(fù)利用率低,不能滿足快速開發(fā)的要求。特別在更新過程中,現(xiàn)在的WEB開發(fā)模式需要重新開發(fā)若干套頁面,效率比較低,部署到現(xiàn)場的時候相對比較麻煩?,F(xiàn)在也有一些支持頁面生成的開發(fā)模型,但是也必須先開發(fā)出固定的頁面格式,然后在進(jìn)行基于頁面結(jié)構(gòu)的設(shè)計,才能完成開發(fā)。
發(fā)明內(nèi)容有鑒于此,本發(fā)明的主要目的在于提供一種基于數(shù)據(jù)定義的WEB頁面快速生成才莫型,能夠解決WEB頁面開發(fā)效率^f氐的問題。本發(fā)明提出了一種基于數(shù)據(jù)定義的網(wǎng)絡(luò)WEB頁面快速生成方法,包括以下步驟構(gòu)造通用的WEB頁面;根據(jù)用戶輸入的要求對WEB頁面凄t據(jù)進(jìn)4于定義;對定義進(jìn)4于解析,并生成頁面對象;利用WEB頁面對象和通用的WEB頁面生成所需的WEB頁面。其中,根據(jù)用戶輸入的要求對WEB頁面數(shù)據(jù)進(jìn)行定義的步驟中,具體包4舌當(dāng)WEB頁面為^是交頁面時,定義WEB頁面的頁面風(fēng)格、參凄t列表、和業(yè)務(wù)處理類;當(dāng)WEB頁面不為4是交頁面時,定義WEB頁面的頁面風(fēng)才各和結(jié)果集。其中,當(dāng)WEB頁面為提交頁面時,在利用WEB頁面只十象和通用的WEB頁面生成所需的WEB頁面的步驟之后,具體包4舌利用WEB頁面對象對WEB頁面進(jìn)行動態(tài)控制,完成表單的填寫;將填寫的參數(shù)傳遞給業(yè)務(wù)處理類進(jìn)行處理。其中,在對定義進(jìn)行解析,并生成頁面對象的步驟中,具體包:括當(dāng)WEB頁面為4是交頁面時,^是取所定義的頁面風(fēng)4各、參凄t列表、和業(yè)務(wù)處理類,根據(jù)所提取的頁面風(fēng)格、參數(shù)列表、和業(yè)務(wù)處理類生成頁面對象;當(dāng)WEB頁面不為^是交頁面時,才艮據(jù)結(jié)果集查詢數(shù)據(jù)源定義;將數(shù)據(jù)源定義轉(zhuǎn)換為數(shù)據(jù)表格;根據(jù)所定義的頁面風(fēng)格和數(shù)據(jù)表格生成頁面對象。其中,在將填寫的參it傳遞給業(yè)務(wù)處理類進(jìn)行處理的步驟中,具體包括從頁面對象中獲取參數(shù)值;將獲取的參數(shù)值傳遞給業(yè)務(wù)處理類進(jìn)4于處理。本發(fā)明還提出一種基于數(shù)據(jù)定義的網(wǎng)絡(luò)WEB頁面快速生成裝置,包括構(gòu)造才莫塊,構(gòu)造通用的WEB頁面;數(shù)據(jù)定義才莫塊,根據(jù)用戶輸入的要求對WEB頁面數(shù)據(jù)進(jìn)行定義;數(shù)據(jù)分析模塊,對所述定義進(jìn)行解析,并生成頁面對象;格式化輸出才莫塊,利用所述WEB頁面》十象和所述通用的WEB頁面生成所需的WEB頁面。其中,在數(shù)據(jù)定義模塊才艮據(jù)用戶輸入的要求對WEB頁面數(shù)據(jù)進(jìn)4亍定義時,當(dāng)WEB頁面為提交頁面時,定義WEB頁面的頁面風(fēng)格、參數(shù)列表、和業(yè)務(wù)處理類;當(dāng)WEB頁面不為提交頁面時,定義WEB頁面的頁面風(fēng)才各和結(jié)果集。其中,裝置還包括動態(tài)校驗?zāi)K,利用WEB頁面對象對WEB頁面進(jìn)行動態(tài)控制,完成表單的填寫;參數(shù)獲取模塊,將填寫的參凄t傳遞纟會業(yè)務(wù)處理類進(jìn)4于處理。其中,在數(shù)據(jù)分析模塊對所述定義進(jìn)行解析,并生成頁面對象的步驟時,當(dāng)WEB頁面為提交頁面時,還包括提取模塊,提取所定義的頁面風(fēng)格、參數(shù)列表、和業(yè)務(wù)處理類,生成模塊,根據(jù)所提取的頁面風(fēng)格、參數(shù)列表、和業(yè)務(wù)處理類生成頁面對象;當(dāng)WEB頁面不為4是交頁面時,還包括查詢才莫塊,根據(jù)結(jié)果集查詢數(shù)據(jù)源定義;轉(zhuǎn)換模塊,將數(shù)據(jù)源定義轉(zhuǎn)換為數(shù)據(jù)表格;生成模塊,根據(jù)所定義的頁面風(fēng)才各和lt據(jù)表格生成頁面對象。其中,在參數(shù)獲取模塊將填寫的參數(shù)傳遞給業(yè)務(wù)處理類進(jìn)行處理時,還包括獲取才莫塊,從頁面對象中獲取參數(shù)值;傳遞才莫塊,將獲:f又的參數(shù)值傳遞給業(yè)務(wù)處理類進(jìn)4于處理。應(yīng)用本發(fā)明,通過生成頁面對象的方法,可以快速開發(fā)WEB頁面,重復(fù)率低,提高了效率。此處所i兌明的附圖用來提供對本發(fā)明的進(jìn)一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當(dāng)限定。在附圖中圖1為WEB頁面快速生成開發(fā)流考呈。圖2為WEB頁面快速生成開發(fā)裝置。具體實施例方式本發(fā)明包括數(shù)據(jù)定義、數(shù)據(jù)分析、格式化輸出、動態(tài)校驗、參數(shù)獲取五個模塊。WEB頁面根據(jù)是否需要提交,分為提交處理頁面和結(jié)果展現(xiàn)頁面兩種類型,其中提交處理頁面輸出包含全部模塊,結(jié)果展現(xiàn)頁面包含數(shù)據(jù)定義、數(shù)據(jù)分析、格式化輸出三個模塊。數(shù)據(jù)定義模塊通過定義工具對數(shù)據(jù)進(jìn)行定義。查詢頁面需要定義參數(shù)字段類型、頁面展現(xiàn)類型、默認(rèn)值、取值腳本、自定義校驗?zāi)_本等信息;結(jié)果頁面需要定義表格數(shù)據(jù)、表格風(fēng)格、圖片類型、圖片數(shù)據(jù)源等。定義完成后,保存為數(shù)據(jù)庫表、配置文件的形式。數(shù)據(jù)分析模塊,為數(shù)據(jù)定義的反向操作,對數(shù)據(jù)定義的數(shù)據(jù)庫表和配置文件進(jìn)行解析,封裝為對象,提供給格式化輸出模塊進(jìn)行展現(xiàn)。格式化輸出模塊通過統(tǒng)一的數(shù)據(jù)對象的輸入,生成html頁面代碼,傳遞到頁面展現(xiàn)。動態(tài)校驗?zāi)K分為通用校驗和自定義校驗。通用校驗根據(jù)參數(shù)類型的定義,以及一些基本信息,比如最大最小值,長度、是否為空等;自定義校-驗由用戶開發(fā)javascript腳本,對于參數(shù)4交-驗、頁面動態(tài)展現(xiàn)進(jìn)4于控制。參數(shù)獲取模塊僅對查詢頁面有效,用戶提交參數(shù)頁面后,該模塊將參數(shù)值提取出來,提供給程序做進(jìn)一步處理。下面結(jié)合附圖和具體實施例對本發(fā)明的技術(shù)方案進(jìn)一步詳細(xì)闡述o8<table>tableseeoriginaldocumentpage9</column></row><table><table>tableseeoriginaldocumentpage10</column></row><table>對于結(jié)果展現(xiàn)頁面需要定義頁面風(fēng)格、結(jié)果集表格列表。一個結(jié)果展現(xiàn)頁面可以包含若干個結(jié)果集表格,結(jié)果集表格可以以表格的形式展3見,也可以以圖表的形式展J見。頁面定義內(nèi)容包括:<table>tableseeoriginaldocumentpage10</column></row><table><table>tableseeoriginaldocumentpage11</column></row><table>數(shù)據(jù)定義可以通過數(shù)據(jù)庫表記錄的形式保存,也可以保存到文本中。步驟102,對凄t據(jù)庫或者文件中的定義進(jìn)行解析,獲取生成頁面對象。該步驟是數(shù)據(jù)定義的逆向過程,能夠?qū)⒐袒男畔⑥D(zhuǎn)變?yōu)閯討B(tài)信息,這樣就實現(xiàn)了教:據(jù)定義,和頁面生成的分離。對于提交處理頁面,解析過程是將數(shù)據(jù)庫中或文件中定義的參凄t列表、頁面風(fēng)才各和業(yè)務(wù)處理類l是取出來,重新轉(zhuǎn)為對象。對于結(jié)果展現(xiàn)頁面,解析過程是首先將數(shù)據(jù)源定義在數(shù)據(jù)庫中查詢出來;然后才艮據(jù)列定義轉(zhuǎn)變?yōu)閿?shù)據(jù)表格;最后4艮據(jù)頁面的定義,創(chuàng)建頁面對象。步驟103,才艮據(jù)頁面乂t象生成格式化的頁面。該步驟^吏用解析好的對象中的定義信息生成頁面。對于提交處理頁面,對象中包含CSS的信息,影響了頁面的風(fēng)格,實現(xiàn)方法是首先在爿^用文件中定義一組CSS,生成HTML頁面的時候,IE會根據(jù)CSS的名稱,找到對應(yīng)的風(fēng)格定義,達(dá)到定制的頁面效果。業(yè)務(wù)處理類定義的是HTML的表單的處理ACTION,這個值填寫在頁面的FORM標(biāo)簽中,當(dāng)頁面提交后就會直接轉(zhuǎn)到對應(yīng)的業(yè)務(wù)處理類中進(jìn)4亍處理。參數(shù)列表生成步驟如下1、遍歷所有的參數(shù),進(jìn)入循環(huán)。2、判斷參數(shù)的顯示類型,根據(jù)顯示類型轉(zhuǎn)到不同的處理段,拼4姿HTML字符串,比如車俞入才匡為"<inputtype=,text,,,,復(fù)選才匡為"<inputtype=,checkbox',,,單選4匡為"<inputtype=,radio',,。123、判斷是否存在級聯(lián)關(guān)系,如果存在則增加修改后提交的函數(shù),進(jìn)4亍二次查詢。4、增加參數(shù)的通用校驗?zāi)_本,比如是否為空、是否為數(shù)字、大小限制、長度限制等。5、增加自定義的校驗?zāi)_本,修_0*卩本變量名為HTML變量名。6、增力口隱藏腳本,修改腳本中的變量名為HTML變量名。7、完成參lt循環(huán)。8、增加通用腳本函數(shù)。對于結(jié)果展現(xiàn)頁面,頁面風(fēng)格和4是交處理頁面是一樣的。表格部分,如果對象中定義的是普通表格列表,則直接按照HTML格式輸出,如果定義的是單元格形式的表格列表,則先轉(zhuǎn)為普通表格列表,然后再輸出。輸出步驟如下1、顯示頁面標(biāo)題,計算頁面包含的總記錄條數(shù)。2、遍歷所有的普通表格列表。3、判斷是否在分頁的范圍內(nèi),如果在則遍歷TR列表和TD列表生成HTML頁面。4、結(jié)束遍歷,顯示頁尾。頁面支持分頁顯示。比如定義每頁IOO行記錄,一個頁面包含3張表格,全部為80條記錄,則頁面第一頁顯示第一張表格的80條記錄和第二張表格的前20條記錄;第二頁顯示第二張表格的后1360條記錄和第三張表才各的前40條記錄;第三頁顯示第三張表格的后40條記錄。結(jié)果展現(xiàn)頁面,當(dāng)頁面生成好后,流程就結(jié)束,下面的步驟和結(jié)果展現(xiàn)頁面沒有關(guān)系了。步驟104,通過JavaScript腳本的形式對頁面元素進(jìn)4于動態(tài)控制,比如校驗、隱藏、修改值。提交處理頁面展現(xiàn)完畢后,頁面一^:都具有一定的邏輯4交-驗和動態(tài)處理,這個步驟就里通過JavaScript腳本實現(xiàn)這些動態(tài)控制。通用JavaScript函數(shù)包括:<table>tableseeoriginaldocumentpage14</column></row><table><table>tableseeoriginaldocumentpage15</column></row><table>步驟105,完成頁面表單填寫后,提交頁面,將參數(shù)傳遞給應(yīng)用。4是交處理頁面填寫參凄史值的最終目的,是為了才是交到業(yè)務(wù)處理類進(jìn)行處理,該步驟就是將提交的參凄t值獲取到,并填寫到參數(shù)對象中去,方^f更業(yè)務(wù)處理類^f吏用。根據(jù)HTML表單的提交模式,頁面提交后的參數(shù)值是以MAP的形式存》文在REQUEST對象中,所以從MAP中提取參凝:值的步驟為1、獲取REQUEST對象。2、遍歷原始的參數(shù)列表。3、通過參凄t名從REQUEST的MAP中獲取參凄史值。如果是單值,則直接獲??;如果是多值,則獲取參數(shù)值數(shù)組,然后填寫到參數(shù)值列表中。4、完成遍歷參凄t列表將填寫完值的參數(shù)列表傳遞到業(yè)務(wù)處理類中,就可以繼續(xù)業(yè)務(wù)處理類的處理流禾呈了。:以上五個步驟基本可?,F(xiàn)頁面。通過混合4是交,頁面形式可以同時包含兩種類型的頁面,既包含提交處理的參數(shù)信息,也包含結(jié)果展現(xiàn)的表格信息。圖2為WEB頁面快速生成開發(fā)裝置。裝置包括構(gòu)造模塊,構(gòu)造通用的WEB頁面;數(shù)據(jù)定義模塊,根據(jù)用戶輸入的要求對WEB頁面數(shù)據(jù)進(jìn)行定義;數(shù)據(jù)分析模塊,對所述定義進(jìn)行解析,并生成頁面對象;格式化輸出模塊,利用所述WEB頁面對象和所述通用的WEB頁面生成所需的WEB頁面。在數(shù)據(jù)定義模塊根據(jù)用戶輸入的要求對WEB頁面數(shù)據(jù)進(jìn)行定義時,當(dāng)WEB頁面為^是交頁面時,定義WEB頁面的頁面風(fēng)格、參數(shù)列表、和業(yè)務(wù)處理類;當(dāng)WEB頁面不為提交頁面時,定義WEB頁面的頁面風(fēng)格和結(jié)果集。該裝置還包括動態(tài)校驗?zāi)K,利用WEB頁面對象對WEB頁面進(jìn)行動態(tài)控制,完成表單的填寫;參數(shù)獲取模塊,將填寫的參數(shù)傳遞給業(yè)務(wù)處理類進(jìn)4于處理。在數(shù)據(jù)分析模塊對所述定義進(jìn)行解析,并生成頁面對象的步驟時,當(dāng)WEB頁面為提交頁面時,還包括提取模塊,纟是取所定義的頁面風(fēng)格、參數(shù)列表、和業(yè)務(wù)處理類,生成模塊,根據(jù)所提取的頁面風(fēng)格、參凄t列表、和業(yè)務(wù)處理類生成頁面對象;當(dāng)WEB頁面不為提交頁面時,還包括查詢模塊,根據(jù)結(jié)果集查詢數(shù)據(jù)源定義;轉(zhuǎn)換模塊,將數(shù)據(jù)源定義轉(zhuǎn)換為數(shù)據(jù)表格;生成模塊,根據(jù)所定義的頁面風(fēng)格和數(shù)據(jù)表格生成頁面對象。在參數(shù)獲取才莫塊將填寫的參數(shù)傳遞給業(yè)務(wù)處理類進(jìn)行處理時,還包括獲取模塊,從頁面對象中獲取參數(shù)值;傳遞模塊,將獲取的參lt值傳遞給業(yè)務(wù)處理類進(jìn)行處理。本領(lǐng)域的技術(shù)人員應(yīng)該明白,上述的本發(fā)明的各模塊或各步驟可以用通用的計算裝置來實現(xiàn),它們可以集中在單個的計算裝置上,或者分布在多個計算裝置所組成的網(wǎng)絡(luò)上,可選地,它們可以用計算裝置可執(zhí)行的程序代碼來實現(xiàn),從而,可以將它們存儲在存儲裝置中由計算裝置來執(zhí)行,或者將它們分別制作成各個集成電路模塊,或者將它們中的多個模塊或步驟制作成單個集成電路模塊來實現(xiàn)。這樣,本發(fā)明不限制于任何特定的硬件和軟件結(jié)合。以上所述l又為本發(fā)明的優(yōu)選實施例而已,并不用于限制本發(fā)明,對于本領(lǐng)域的^支術(shù)人員來i兌,本發(fā)明可以有各種更改和變4匕。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。1權(quán)利要求1.一種基于數(shù)據(jù)定義的網(wǎng)絡(luò)WEB頁面快速生成方法,其特征在于,所述方法包括以下步驟構(gòu)造通用的WEB頁面;根據(jù)用戶輸入的要求對WEB頁面數(shù)據(jù)進(jìn)行定義;對所述定義進(jìn)行解析,并生成頁面對象;利用所述WEB頁面對象和所述通用的WEB頁面生成所需的WEB頁面。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,根據(jù)用戶輸入的要求對WEB頁面數(shù)據(jù)進(jìn)行定義的步驟中,具體包4舌當(dāng)所述WEB頁面為提交頁面時,定義所述WEB頁面的頁面風(fēng)格、參凄t列表、和業(yè)務(wù)處理類;當(dāng)所述WEB頁面不為4是交頁面時,定義所述WEB頁面的頁面風(fēng)格和結(jié)果集。3.根據(jù)權(quán)利要求2所述的方法,其特征在于,當(dāng)所述WEB頁面為4是交頁面時,在利用所述WEB頁面》于象和所述通用的WEB頁面生成所需的WEB頁面的步驟之后,具體包4舌利用所述WEB頁面對象對WEB頁面進(jìn)4于動態(tài)控制,完成表單的填寫;將填寫的參tt傳遞給所述業(yè)務(wù)處理類進(jìn)4于處理。4.根據(jù)權(quán)利要求3所述的方法,其特征在于,在對所述定義進(jìn)行解析,并生成頁面對象的步驟中,具體包括當(dāng)所述WEB頁面為提交頁面時,提取所定義的頁面風(fēng)4各、參數(shù)列表、和業(yè)務(wù)處理類,根據(jù)所提取的頁面風(fēng)格、參數(shù)列表、和業(yè)務(wù)處理類生成頁面7于象;當(dāng)所述WEB頁面不為l是交頁面時,根據(jù)結(jié)果集查詢數(shù)據(jù)源定義;將所述數(shù)據(jù)源定義轉(zhuǎn)換為數(shù)據(jù)表格;才艮據(jù)所定義的頁面風(fēng)才各和凄t據(jù)表才各生成頁面對象。5.根據(jù)權(quán)利要求3所述的方法,其特征在于,在將填寫的參數(shù)傳遞纟合所述業(yè)務(wù)處理類進(jìn)4亍處理的步艱《中,具體包4舌從所述頁面對象中獲取參凄t值;將獲取的參數(shù)值傳遞給所述業(yè)務(wù)處理類進(jìn)行處理。6.—種基于數(shù)據(jù)定義的網(wǎng)絡(luò)WEB頁面快速生成裝置,其特征在于,包括構(gòu)造模塊,構(gòu)造通用的WEB頁面;數(shù)據(jù)定義模塊,根據(jù)用戶輸入的要求對WEB頁面數(shù)據(jù)進(jìn)行定義;數(shù)據(jù)分析^^莫塊,對所述定義進(jìn)行解析,并生成頁面對象;格式化輸出模塊,利用所述WEB頁面對象和所述通用的WEB頁面生成戶斤需的WEB頁面。7.根據(jù)權(quán)利要求6所述的裝置,其特征在于,在所述數(shù)據(jù)定義模塊根據(jù)用戶輸入的要求對WEB頁面數(shù)據(jù)進(jìn)行定義時,當(dāng)所述WEB頁面為l是交頁面時,定義所述WEB頁面的頁面風(fēng)格、參數(shù)列表、和業(yè)務(wù)處理類;當(dāng)所述WEB頁面不為^是交頁面時,定義戶斤述WEB頁面的頁面風(fēng)格和結(jié)果集。8.根據(jù)權(quán)利要求7所述的裝置,其特征在于,所述裝置還包括動態(tài)4交-瞼才莫塊,利用所述WEB頁面對象對WEB頁面進(jìn)行動態(tài)控制,完成表單的填寫;參數(shù)獲取沖莫塊,將填寫的參凄t傳遞給所述業(yè)務(wù)處理類進(jìn)行處理。9.根據(jù)權(quán)利要求8所述的裝置,其特征在于,在所述數(shù)據(jù)分析模塊對所述定義進(jìn)4于解4斤,并生成頁面^"象的步艱《時,當(dāng)所述WEB頁面為提交頁面時,還包括提取模塊,提取所定義的頁面風(fēng)格、參數(shù)列表、和業(yè)務(wù)處理類,生成模塊,根據(jù)所提取的頁面風(fēng)格、參數(shù)列表、和業(yè)務(wù)處理類生成頁面對象;當(dāng)所述WEB頁面不為提交頁面時,還包4舌查詢模塊,根據(jù)結(jié)果集查詢數(shù)據(jù)源定義;轉(zhuǎn)換模塊,將所迷數(shù)據(jù)源定義轉(zhuǎn)換為數(shù)據(jù)表格;生成模塊,根據(jù)所定義的頁面風(fēng)格和數(shù)據(jù)表格生成頁面7寸象。10.根據(jù)權(quán)利要求8所述的裝置,其特征在于,在所述參數(shù)獲取模塊將填寫的參數(shù)傳遞給所述業(yè)務(wù)處理類進(jìn)行處理時,還包括獲取模塊,從所述頁面對象中獲取參數(shù)值;傳遞模塊,將獲取的參數(shù)值傳遞給所述業(yè)務(wù)處理類進(jìn)行處理。全文摘要本發(fā)明提供了一種基于數(shù)據(jù)定義的網(wǎng)絡(luò)WEB頁面快速生成方法,包括構(gòu)造通用的WEB頁面;根據(jù)用戶輸入的要求對WEB頁面數(shù)據(jù)進(jìn)行定義;對所述定義進(jìn)行解析,并生成頁面對象;利用所述WEB頁面對象和所述通用的WEB頁面生成所需的WEB頁面,采用本發(fā)明的方法,可快速開發(fā)相似的WEB頁面,提高了效率。文檔編號G06F17/30GK101650745SQ20091017372公開日2010年2月17日申請日期2009年9月10日優(yōu)先權(quán)日2009年9月10日發(fā)明者羅宏程,炎錢申請人:中興通訊股份有限公司