本申請(qǐng)涉及計(jì)算機(jī)技術(shù)領(lǐng)域,具體涉及互聯(lián)網(wǎng)技術(shù)領(lǐng)域,尤其涉及用于生成頁面的方法和裝置。
背景技術(shù):
隨著互聯(lián)網(wǎng)的飛速發(fā)展,越來越多的行業(yè)通過網(wǎng)頁頁面進(jìn)行信息的傳播和業(yè)務(wù)的推送。用戶可以通過瀏覽網(wǎng)頁頁面來獲取各種各樣的資源。
然而,現(xiàn)有的網(wǎng)頁生成方式通常是整體式的生成頁面,當(dāng)頁面有更新時(shí),需要重新生成整個(gè)頁面,導(dǎo)致頁面生成效率較低。
技術(shù)實(shí)現(xiàn)要素:
本申請(qǐng)的目的在于提出一種改進(jìn)的用于生成頁面的方法和裝置,來解決以上背景技術(shù)部分提到的技術(shù)問題。
第一方面,本申請(qǐng)實(shí)施例提供了一種用于生成頁面的方法,該方法包括:對(duì)于預(yù)先生成的配置文件中的每個(gè)組件信息,將該組件信息與預(yù)先存儲(chǔ)的組件集合中的各個(gè)組件的組件信息進(jìn)行匹配,其中,配置文件用于記錄待生成頁面的至少一個(gè)頁面模塊的頁面模塊信息和至少一個(gè)頁面模塊中的每個(gè)頁面模塊的至少一個(gè)組件的組件信息;若匹配成功,從組件集合中選取出匹配成功的組件信息所指示的組件作為目標(biāo)組件;基于配置文件中的至少一個(gè)頁面模塊中的每個(gè)頁面模塊的至少一個(gè)組件的組件信息,對(duì)目標(biāo)組件進(jìn)行組合,生成至少一個(gè)頁面模塊;基于配置文件中的待生成頁面的至少一個(gè)頁面模塊的頁面模塊信息,對(duì)所生成的至少一個(gè)頁面模塊進(jìn)行組合,生成頁面。
在一些實(shí)施例中,該方法還包括:若匹配不成功,對(duì)匹配不成功的組件信息所指示的組件的內(nèi)容進(jìn)行分析,生成匹配不成功的組件信息所指示的組件作為目標(biāo)組件。
在一些實(shí)施例中,至少一個(gè)頁面模塊的頁面模塊信息包括至少一個(gè)頁面模塊在待生成頁面上的布局信息;以及基于配置文件中的待生成頁面的至少一個(gè)頁面模塊的頁面模塊信息,對(duì)所生成的至少一個(gè)頁面模塊進(jìn)行組合,生成頁面,包括:按照配置文件中的至少一個(gè)頁面模塊在待生成頁面上的布局信息,對(duì)所生成的至少一個(gè)頁面模塊進(jìn)行布局,生成頁面。
在一些實(shí)施例中,該方法還包括:響應(yīng)于接收到頁面的更新指令,按照更新指令的指示更新配置文件,其中,更新指令包括以下至少一項(xiàng):添加指定頁面模塊、刪除指定頁面模塊和替換指定頁面模塊。
在一些實(shí)施例中,該方法還包括生成配置文件的步驟,生成配置文件的步驟包括:對(duì)待生成頁面的內(nèi)容進(jìn)行分析,將待生成頁面劃分成至少一個(gè)頁面模塊,并獲取至少一個(gè)頁面模塊的頁面模塊信息;對(duì)于至少一個(gè)頁面模塊中的每個(gè)頁面模塊,對(duì)該頁面模塊的內(nèi)容進(jìn)行分析,獲取該頁面模塊的至少一個(gè)組件的組件信息;基于至少一個(gè)頁面模塊的頁面模塊信息和至少一個(gè)頁面模塊中的每個(gè)頁面模塊的至少一個(gè)組件的組件信息,生成配置文件。
在一些實(shí)施例中,對(duì)于至少一個(gè)頁面模塊中的每個(gè)頁面模塊,對(duì)該頁面模塊的內(nèi)容進(jìn)行分析,獲取該頁面模塊的至少一個(gè)組件的組件信息,包括:對(duì)于至少一個(gè)頁面模塊中的每個(gè)頁面模塊,對(duì)該頁面模塊的布局進(jìn)行分析,獲取該頁面模塊的模板組件的組件信息;對(duì)該頁面模塊的樣式進(jìn)行分析,獲取該頁面模塊的樣式組件的組件信息;對(duì)該頁面模塊的功能進(jìn)行分析,獲取該頁面模板的功能組件的組件信息。
第二方面,本申請(qǐng)實(shí)施例提供了一種用于生成頁面的裝置,該裝置包括:組件匹配單元,配置用于對(duì)于預(yù)先生成的配置文件中的每個(gè)組件信息,將該組件信息與預(yù)先存儲(chǔ)的組件集合中的各個(gè)組件的組件信息進(jìn)行匹配,其中,配置文件用于記錄待生成頁面的至少一個(gè)頁面模塊的頁面模塊信息和至少一個(gè)頁面模塊中的每個(gè)頁面模塊的至少一個(gè)組件的組件信息;組件選取單元,配置用于若匹配成功,從組件集合中選取出匹配成功的組件信息所指示的組件作為目標(biāo)組件;頁面模塊生成單元,配置用于基于配置文件中的至少一個(gè)頁面模塊中的每個(gè)頁面模塊的至少一個(gè)組件的組件信息,對(duì)目標(biāo)組件進(jìn)行組合,生成至少一個(gè)頁面模塊;頁面生成單元,配置用于基于配置文件中的待生成頁面的至少一個(gè)頁面模塊的頁面模塊信息,對(duì)所生成的至少一個(gè)頁面模塊進(jìn)行組合,生成頁面。
在一些實(shí)施例中,該裝置還包括:組件生成單元,配置用于若匹配不成功,對(duì)匹配不成功的組件信息所指示的組件的內(nèi)容進(jìn)行分析,生成匹配不成功的組件信息所指示的組件作為目標(biāo)組件。
在一些實(shí)施例中,至少一個(gè)頁面模塊的頁面模塊信息包括至少一個(gè)頁面模塊在待生成頁面上的布局信息;以及頁面生成單元進(jìn)一步配置用于:按照配置文件中的至少一個(gè)頁面模塊在待生成頁面上的布局信息,對(duì)所生成的至少一個(gè)頁面模塊進(jìn)行布局,生成頁面。
在一些實(shí)施例中,該裝置還包括:頁面更新單元,配置用于響應(yīng)于接收到頁面的更新指令,按照更新指令的指示更新配置文件,其中,更新指令包括以下至少一項(xiàng):添加指定頁面模塊、刪除指定頁面模塊和替換指定頁面模塊。
在一些實(shí)施例中,該裝置還包括配置文件生成單元,配置用于生成配置文件,包括:頁面模塊信息獲取子單元,配置用于對(duì)待生成頁面的內(nèi)容進(jìn)行分析,將待生成頁面劃分成至少一個(gè)頁面模塊,并獲取至少一個(gè)頁面模塊的頁面模塊信息;組件信息獲取子單元,配置用于對(duì)于至少一個(gè)頁面模塊中的每個(gè)頁面模塊,對(duì)該頁面模塊的內(nèi)容進(jìn)行分析,獲取該頁面模塊的至少一個(gè)組件的組件信息;配置文件生成子單元,配置用于基于至少一個(gè)頁面模塊的頁面模塊信息和至少一個(gè)頁面模塊中的每個(gè)頁面模塊的至少一個(gè)組件的組件信息,生成配置文件。
在一些實(shí)施例中,組件信息獲取子單元包括:模板組件信息獲取模塊,配置用于對(duì)于至少一個(gè)頁面模塊中的每個(gè)頁面模塊,對(duì)該頁面模塊的布局進(jìn)行分析,獲取該頁面模塊的模板組件的組件信息;樣式組件信息獲取模塊,配置用于對(duì)該頁面模塊的樣式進(jìn)行分析,獲取該頁面模塊的樣式組件的組件信息;功能組件信息獲取模塊,配置用于對(duì)該頁面模塊的功能進(jìn)行分析,獲取該頁面模板的功能組件的組件信息。
第三方面,本申請(qǐng)實(shí)施例提供了一種服務(wù)器,該服務(wù)器包括:一個(gè)或多個(gè)處理器;存儲(chǔ)裝置,用于存儲(chǔ)一個(gè)或多個(gè)程序,當(dāng)一個(gè)或多個(gè)程序被一個(gè)或多個(gè)處理器執(zhí)行,使得一個(gè)或多個(gè)處理器實(shí)現(xiàn)如第一方面中任一實(shí)現(xiàn)方式描述的方法。
第四方面,本申請(qǐng)實(shí)施例提供了一種計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其上存儲(chǔ)有計(jì)算機(jī)程序,該計(jì)算機(jī)程序被處理器執(zhí)行時(shí)實(shí)現(xiàn)如第一方面中任一實(shí)現(xiàn)方式描述的方法。
本申請(qǐng)實(shí)施例提供的用于生成頁面的方法和裝置,通過將配置文件中的組件信息與組件集合中的組件信息進(jìn)行匹配,得到目標(biāo)組件;然后根據(jù)配置文件中的頁面模塊的組件的組件信息,對(duì)目標(biāo)組件進(jìn)行組合,生成頁面模塊;最后根據(jù)配置文件中的頁面模塊信息,對(duì)所生成的頁面模塊進(jìn)行組合,生成頁面。將頁面模塊化和組件化,當(dāng)更新頁面時(shí),僅僅對(duì)頁面上需要更新的模塊或組件進(jìn)行更新即可實(shí)現(xiàn)生成更新后的頁面,從而提高了生成頁面的效率。
附圖說明
通過閱讀參照以下附圖所作的對(duì)非限制性實(shí)施例所作的詳細(xì)描述,本申請(qǐng)的其它特征、目的和優(yōu)點(diǎn)將會(huì)變得更明顯:
圖1是本申請(qǐng)實(shí)施例可以應(yīng)用于其中的示例性系統(tǒng)架構(gòu)圖;
圖2是根據(jù)本申請(qǐng)的用于生成頁面的方法的一個(gè)實(shí)施例的流程圖;
圖3是根據(jù)本申請(qǐng)實(shí)施例的用于生成頁面的方法的一個(gè)應(yīng)用場(chǎng)景的示意圖;
圖4是根據(jù)本申請(qǐng)的生成配置文件的方法的一個(gè)實(shí)施例的流程圖;
圖5是根據(jù)本申請(qǐng)的用于生成頁面的裝置的一個(gè)實(shí)施例的結(jié)構(gòu)示意圖;
圖6是適于用來實(shí)現(xiàn)本申請(qǐng)實(shí)施例的服務(wù)器的計(jì)算機(jī)系統(tǒng)的結(jié)構(gòu)示意圖。
具體實(shí)施方式
下面結(jié)合附圖和實(shí)施例對(duì)本申請(qǐng)作進(jìn)一步的詳細(xì)說明??梢岳斫獾氖牵颂幩枋龅木唧w實(shí)施例僅僅用于解釋相關(guān)發(fā)明,而非對(duì)該發(fā)明的限定。另外還需要說明的是,為了便于描述,附圖中僅示出了與有關(guān)發(fā)明相關(guān)的部分。
需要說明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。下面將參考附圖并結(jié)合實(shí)施例來詳細(xì)說明本申請(qǐng)。
圖1示出了可以應(yīng)用本申請(qǐng)實(shí)施例的用于生成頁面的方法或用于生成頁面的裝置的實(shí)施例的示例性系統(tǒng)架構(gòu)100。
如圖1所示,系統(tǒng)架構(gòu)100可以包括終端設(shè)備101、102、103,網(wǎng)絡(luò)104和服務(wù)器105。網(wǎng)絡(luò)104用以在終端設(shè)備101、102、103和服務(wù)器105之間提供通信鏈路的介質(zhì)。網(wǎng)絡(luò)104可以包括各種連接類型,例如有線、無線通信鏈路或者光纖電纜等等。
用戶可以使用終端設(shè)備101、102、103通過網(wǎng)絡(luò)104與服務(wù)器105交互,以接收或發(fā)送消息等。終端設(shè)備101、102、103上可以安裝有各種通訊客戶端應(yīng)用,例如網(wǎng)頁瀏覽器應(yīng)用、購(gòu)物類應(yīng)用、搜索類應(yīng)用、即時(shí)通信工具、郵箱客戶端、社交平臺(tái)軟件等。
終端設(shè)備101、102、103可以是具有顯示屏并且支持網(wǎng)頁瀏覽的各種電子設(shè)備,包括但不限于智能手機(jī)、平板電腦、電子書閱讀器、膝上型便攜計(jì)算機(jī)和臺(tái)式計(jì)算機(jī)等等。
服務(wù)器105可以是提供各種服務(wù)的服務(wù)器,例如對(duì)終端設(shè)備101、102、103上顯示的網(wǎng)頁提供支持的后臺(tái)網(wǎng)頁服務(wù)器。后臺(tái)網(wǎng)頁服務(wù)器可以對(duì)配置文件中的頁面模塊信息和組件信息進(jìn)行分析,生成相應(yīng)的頁面并將頁面反饋給請(qǐng)求瀏覽該頁面的終端設(shè)備101、102、103。
需要說明的是,本申請(qǐng)實(shí)施例所提供的用于生成頁面的方法一般由服務(wù)器105執(zhí)行,相應(yīng)地,用于生成頁面的裝置一般設(shè)置于服務(wù)器105中。
應(yīng)該理解,圖1中的終端設(shè)備、網(wǎng)絡(luò)和服務(wù)器的數(shù)目?jī)H僅是示意性的。根據(jù)實(shí)現(xiàn)需要,可以具有任意數(shù)目的終端設(shè)備、網(wǎng)絡(luò)和服務(wù)器。
繼續(xù)參考圖2,示出了根據(jù)本申請(qǐng)的用于生成頁面的方法的一個(gè)實(shí)施例的流程200。該用于生成頁面的方法,包括以下步驟:
步驟201,對(duì)于預(yù)先生成的配置文件中的每個(gè)組件信息,將該組件信息與預(yù)先存儲(chǔ)的組件集合中的各個(gè)組件的組件信息進(jìn)行匹配。
在本實(shí)施例中,對(duì)于配置文件中的每個(gè)組件信息,用于生成頁面的方法運(yùn)行于其上的電子設(shè)備(例如圖1中所示的服務(wù)器105)可以將該組件信息與組件集合中的各個(gè)組件的組件信息進(jìn)行比較,若組件集合中存在一個(gè)組件的組件信息與該組件信息相同,則匹配成功;反之則匹配不成功。
在本實(shí)施例中,為了提高組件的復(fù)用率,電子設(shè)備可以預(yù)先將復(fù)用率較高的一些組件以組件集合的形式預(yù)先存儲(chǔ)。當(dāng)電子設(shè)備生成頁面時(shí),可以首先將配置文件中的每個(gè)組件信息與組件集合中的各個(gè)組件的組件信息進(jìn)行匹配,若匹配成功,則從組件集合中獲取該組件,若匹配不成功,則生成該組件。這樣也減少了生成組件的工作量。
在這里,配置文件可以是各種格式的文件。例如,配置文件可以是json(javascriptobjectnotation,js對(duì)象標(biāo)記)文件。json是一種輕量級(jí)的數(shù)據(jù)交換格式,它基于ecmascript(一種由ecma(europeancomputermanufacturersassociation,歐洲計(jì)算機(jī)制造商協(xié)會(huì))國(guó)際通過ecma-262標(biāo)準(zhǔn)化的腳本程序設(shè)計(jì)語言)規(guī)范的一個(gè)子集,采用完全獨(dú)立于編程語言的文本格式來存儲(chǔ)和表示數(shù)據(jù)。簡(jiǎn)潔和清晰的層次結(jié)構(gòu)使得json成為理想的數(shù)據(jù)交換語言。配置文件還可以是xml(extensiblemarkuplanguage,可擴(kuò)展標(biāo)記語言)文件。xml是w3c(worldwidewebconsortium,萬維網(wǎng)聯(lián)盟)標(biāo)準(zhǔn)技術(shù),可移植性較強(qiáng),各種平臺(tái)通用,并且xml高度可擴(kuò)展,它的標(biāo)記語言可以自定義,因此可以提供更多的數(shù)據(jù)操作。
在這里,配置文件可以用于記錄待生成頁面的至少一個(gè)頁面模塊的頁面模塊信息和至少一個(gè)頁面模塊中的每個(gè)頁面模塊的至少一個(gè)組件的組件信息。其中,頁面模塊又可以被稱為頁面板塊,可以通過對(duì)待生成頁面的內(nèi)容進(jìn)行分析,從而將待生成頁面劃分成若干個(gè)頁面板塊,每個(gè)頁面板塊對(duì)應(yīng)待生成頁面的一塊內(nèi)容。例如,若待生成頁面是醫(yī)療網(wǎng)頁頁面,那么待生成頁面就可以被劃分為:疾病、癥狀、檢查、手術(shù)等多個(gè)頁面模塊。頁面模塊信息可以包括但不限于頁面模塊的名稱、頁面模塊的標(biāo)識(shí)、組成頁面模塊的各個(gè)組件的名稱、組成頁面模塊的各個(gè)組件的標(biāo)識(shí)、頁面模塊在待生成頁面上的布局信息等等。組件又可以被稱為網(wǎng)頁組件,可以包含各種常用的界面組件,例如表格、樹、聯(lián)動(dòng)下拉框等,可輕松構(gòu)造出各種頁面模塊。通常情況下,組件可以包括但不限于tpl(template,模板)組件、css(cascadingstylesheets,層疊樣式表)組件和js(即javascript,是一種直譯式腳本語言)組件等等。組件信息可以包括但不限于組件的名稱、組件的標(biāo)識(shí)、組件所屬的頁面模塊的名稱、組件所屬的頁面模塊的標(biāo)識(shí)等等。
需要說明的是,配置文件可以是電子設(shè)備通過對(duì)待生成頁面的內(nèi)容進(jìn)行分析而自動(dòng)生成的,也可以是研發(fā)人員根據(jù)預(yù)先的需求信息人工生成的,本實(shí)施例對(duì)配置文件的具體生成方式不進(jìn)行限定。
步驟202,若匹配成功,從組件集合中選取出匹配成功的組件信息所指示的組件作為目標(biāo)組件。
在本實(shí)施例中,若步驟201中的匹配結(jié)果顯示匹配成功,則電子設(shè)備可以從組件集合中選取出匹配成功的組件信息所指示的組件作為目標(biāo)組件。這樣,不僅提高了組件集合中的組件的復(fù)用率,還減少了生成組件的工作量。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,若匹配不成功,電子設(shè)備可以對(duì)匹配不成功的組件信息所指示的組件的內(nèi)容進(jìn)行分析,生成匹配不成功的組件信息所指示的組件作為目標(biāo)組件。作為示例,電子設(shè)備可以對(duì)匹配不成功的組件信息所指示的組件的內(nèi)容進(jìn)行分析,確定生成匹配不成功的組件信息所指示的組件所需的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)類型,并利用所確定出的數(shù)據(jù)結(jié)構(gòu)和數(shù)據(jù)類型,生成匹配不成功的組件信息所指示的組件作為目標(biāo)組件。
步驟203,基于配置文件中的至少一個(gè)頁面模塊中的每個(gè)頁面模塊的至少一個(gè)組件的組件信息,對(duì)目標(biāo)組件進(jìn)行組合,生成至少一個(gè)頁面模塊。
在本實(shí)施例中,基于步驟202中得到的目標(biāo)組件,電子設(shè)備可以首先按照配置文件中記錄的至少一個(gè)頁面模塊中的每個(gè)頁面模塊的至少一個(gè)組件的組件信息,從目標(biāo)組件中分別獲取組成各個(gè)頁面模塊的各個(gè)組件;然后分別對(duì)各個(gè)頁面模塊的各個(gè)組件進(jìn)行組合,生成各個(gè)頁面模塊。作為示例,若配置文件中記錄有組成各個(gè)頁面模塊的各個(gè)組件的名稱,則電子設(shè)備可以首先根據(jù)目標(biāo)組件的名稱將目標(biāo)組件劃分成與各個(gè)頁面模塊對(duì)應(yīng)的組件子集;然后分別對(duì)與各個(gè)頁面模塊對(duì)應(yīng)的組件子集進(jìn)行組合,生成各個(gè)頁面模塊。
步驟204,基于配置文件中的待生成頁面的至少一個(gè)頁面模塊的頁面模塊信息,對(duì)所生成的至少一個(gè)頁面模塊進(jìn)行組合,生成頁面。
在本實(shí)施例中,基于步驟203中生成的頁面模塊,電子設(shè)備可以首先按照配置文件中記錄的至少一個(gè)頁面模塊中的頁面模塊信息,對(duì)所生成的至少一個(gè)頁面模塊進(jìn)行組合,生成頁面。作為示例,電子設(shè)備可以按照配置文件中記錄的至少一個(gè)頁面中的頁面模塊信息的順序,將所生成的至少一個(gè)頁面模塊中的各個(gè)頁面模塊依次從上至下,從左至右排布在待生成頁面上。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,至少一個(gè)頁面模塊的頁面模塊信息可以包括至少一個(gè)頁面模塊在待生成頁面上的布局信息;以及電子設(shè)備可以按照配置文件中的至少一個(gè)頁面模塊在待生成頁面上的布局信息,對(duì)所生成的至少一個(gè)頁面模塊進(jìn)行布局,生成頁面。其中,布局信息可以是各個(gè)頁面模塊在待生成頁面上的顯示區(qū)域等信息。作為示例,電子設(shè)備可以根據(jù)各個(gè)頁面模塊在待生成頁面上的顯示區(qū)域信息,將各個(gè)頁面模塊排布在待生成頁面上的與各個(gè)頁面模塊相對(duì)應(yīng)的顯示區(qū)域上。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,響應(yīng)于接收到頁面的更新指令,電子設(shè)備可以按照更新指令的指示更新配置文件,其中,更新指令包括以下至少一項(xiàng):添加指定頁面模塊、刪除指定頁面模塊和替換指定頁面模塊。作為示例,若更新指令是添加指定頁面模塊的指令,則電子設(shè)備可以首先將該指定頁面模塊的頁面模塊信息和該指定頁面模塊的至少一個(gè)組件的組件信息寫入配置文件;然后按照配置文件中的該指定頁面模塊的頁面模塊信息和該指定頁面模塊的至少一個(gè)組件的組件信息組合出該指定頁面模塊;最后將指定頁面模塊添加到頁面中即可。
繼續(xù)參見圖3,圖3是根據(jù)本申請(qǐng)實(shí)施例的用于生成頁面的方法的一個(gè)應(yīng)用場(chǎng)景的示意圖。在圖3的應(yīng)用場(chǎng)景中,服務(wù)器301首先將配置文件302中的組件信息與組件集合中的組件信息進(jìn)行匹配,得到目標(biāo)組件303;然后,服務(wù)器301根據(jù)配置文件302中的頁面模塊的組件的組件信息,對(duì)目標(biāo)組件303進(jìn)行組合,生成頁面模塊304;最后,服務(wù)器301根據(jù)配置文件302中的頁面模塊信息,對(duì)所生成的頁面模塊304進(jìn)行組合,生成頁面305,并在客戶端306向服務(wù)器301發(fā)起頁面305的瀏覽請(qǐng)求的情況下,將頁面305發(fā)送給客戶端306。
本申請(qǐng)實(shí)施例提供的用于生成頁面的方法通過將配置文件中的組件信息與組件集合中的組件信息進(jìn)行匹配,得到目標(biāo)組件;然后根據(jù)配置文件中的頁面模塊的組件的組件信息,對(duì)目標(biāo)組件進(jìn)行組合,生成頁面模塊;最后根據(jù)配置文件中的頁面模塊信息,對(duì)所生成的頁面模塊進(jìn)行組合,生成頁面。將頁面模塊化和組件化,當(dāng)更新頁面時(shí),僅僅對(duì)頁面上需要更新的模塊或組件進(jìn)行更新即可實(shí)現(xiàn)生成更新后的頁面,從而提高了生成頁面的效率。
進(jìn)一步參考圖4,其示出了根據(jù)本申請(qǐng)的生成配置文件的方法的一個(gè)實(shí)施例的流程400。該流程400包括以下步驟:
步驟401,對(duì)待生成頁面的內(nèi)容進(jìn)行分析,將待生成頁面劃分成至少一個(gè)頁面模塊,并獲取至少一個(gè)頁面模塊的頁面模塊信息。
在本實(shí)施例中,電子設(shè)備(例如圖1中所示的服務(wù)器105)可以首先對(duì)待生成頁面的內(nèi)容進(jìn)行分析,從而將待生成頁面劃分成若干個(gè)頁面模塊;然后獲取劃分成的若干個(gè)頁面模塊的頁面模塊信息。其中,每個(gè)頁面模塊對(duì)應(yīng)待生成頁面的一塊內(nèi)容。頁面模塊信息可以包括但不限于頁面模塊的名稱、頁面模塊的標(biāo)識(shí)、組成頁面模塊的各個(gè)組件的名稱、組成頁面模塊的各個(gè)組件的標(biāo)識(shí)、頁面模塊在待生成頁面上的布局信息等等。
步驟402,對(duì)于至少一個(gè)頁面模塊中的每個(gè)頁面模塊,對(duì)該頁面模塊的內(nèi)容進(jìn)行分析,獲取該頁面模塊的至少一個(gè)組件的組件信息。
在本實(shí)施例中,對(duì)于至少一個(gè)頁面模塊中的每個(gè)頁面模塊,電子設(shè)備可以對(duì)該頁面模塊的內(nèi)容進(jìn)行分析,獲取該頁面模塊的至少一個(gè)組件的組件信息。其中,組件又可以被稱為網(wǎng)頁組件,可以包含各種常用的界面組件,例如表格、樹、聯(lián)動(dòng)下拉框等,可輕松構(gòu)造出各種頁面模塊。通常情況下,頁面組件可以包括但不限于tpl組件、css組件和js組件等等。組件信息可以包括但不限于組件的名稱、組件的標(biāo)識(shí)、組件所屬的頁面模塊的名稱、組件所屬的頁面模塊的標(biāo)識(shí)等等。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,電子設(shè)備可以對(duì)于至少一個(gè)頁面模塊中的每個(gè)頁面模塊,對(duì)該頁面模塊的布局進(jìn)行分析,獲取該頁面模塊的模板組件的組件信息;對(duì)該頁面模塊的樣式進(jìn)行分析,獲取該頁面模塊的樣式組件的組件信息;對(duì)該頁面模塊的功能進(jìn)行分析,獲取該頁面模板的功能組件的組件信息。其中,不同的頁面模塊的布局一般不同,其對(duì)應(yīng)的tpl組件也不相同。不同的頁面模塊的樣式一般不同,其對(duì)應(yīng)的css組件也不相同。不同的頁面模塊的功能一般不同,其對(duì)應(yīng)的js組件一般也不相同。
步驟403,基于至少一個(gè)頁面模塊的頁面模塊信息和至少一個(gè)頁面模塊中的每個(gè)頁面模塊的至少一個(gè)組件的組件信息,生成配置文件。
在本實(shí)施例中,電子設(shè)備可以將步驟401中獲取到的至少一個(gè)頁面模塊的頁面模塊信息和步驟402中獲取到的至少一個(gè)頁面模塊中的每個(gè)頁面模塊的至少一個(gè)組件的組件信息寫入空的配置文件中,即可生成配置文件。
本申請(qǐng)實(shí)施例提供的生成配置文件的方法通過電子設(shè)備對(duì)待生成頁面的內(nèi)容和組成待生成頁面的各個(gè)頁面模塊的內(nèi)容進(jìn)行分析而自動(dòng)生成配置文件,提高了生成配置文件的效率。
進(jìn)一步參考圖5,作為對(duì)上述各圖所示方法的實(shí)現(xiàn),本申請(qǐng)?zhí)峁┝艘环N用于生成頁面的裝置的一個(gè)實(shí)施例,該裝置實(shí)施例與圖2所示的方法實(shí)施例相對(duì)應(yīng),該裝置具體可以應(yīng)用于各種電子設(shè)備中。
如圖5所示,本實(shí)施例所示的用于生成頁面的裝置500包括:組件匹配單元501、組件選取單元502、頁面模塊生成單元503和頁面生成單元504。其中,組件匹配單元501,配置用于對(duì)于預(yù)先生成的配置文件中的每個(gè)組件信息,將該組件信息與預(yù)先存儲(chǔ)的組件集合中的各個(gè)組件的組件信息進(jìn)行匹配,其中,配置文件用于記錄待生成頁面的至少一個(gè)頁面模塊的頁面模塊信息和至少一個(gè)頁面模塊中的每個(gè)頁面模塊的至少一個(gè)組件的組件信息;組件選取單元502,配置用于若匹配成功,從組件集合中選取出匹配成功的組件信息所指示的組件作為目標(biāo)組件;頁面模塊生成單元503,配置用于基于配置文件中的至少一個(gè)頁面模塊中的每個(gè)頁面模塊的至少一個(gè)組件的組件信息,對(duì)目標(biāo)組件進(jìn)行組合,生成至少一個(gè)頁面模塊;頁面生成單元504,配置用于基于配置文件中的待生成頁面的至少一個(gè)頁面模塊的頁面模塊信息,對(duì)所生成的至少一個(gè)頁面模塊進(jìn)行組合,生成頁面。
在本實(shí)施例中,用于生成頁面的裝置500中:組件匹配單元501、組件選取單元502、頁面模塊生成單元503和頁面生成單元504的具體處理及其所帶來的技術(shù)效果可分別參考圖2對(duì)應(yīng)實(shí)施例中的步驟201、步驟202、步驟203和步驟204的相關(guān)說明,在此不再贅述。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,用于生成頁面的裝置500還包括:組件生成單元(圖中未示出),配置用于若匹配不成功,對(duì)匹配不成功的組件信息所指示的組件的內(nèi)容進(jìn)行分析,生成匹配不成功的組件信息所指示的組件作為目標(biāo)組件。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,至少一個(gè)頁面模塊的頁面模塊信息包括至少一個(gè)頁面模塊在待生成頁面上的布局信息;以及頁面生成單元504進(jìn)一步配置用于:按照配置文件中的至少一個(gè)頁面模塊在待生成頁面上的布局信息,對(duì)所生成的至少一個(gè)頁面模塊進(jìn)行布局,生成頁面。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,用于生成頁面的裝置500還包括:頁面更新單元(圖中未示出),配置用于響應(yīng)于接收到頁面的更新指令,按照更新指令的指示更新配置文件,其中,更新指令包括以下至少一項(xiàng):添加指定頁面模塊、刪除指定頁面模塊和替換指定頁面模塊。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,用于生成頁面的裝置500還包括配置文件生成單元(圖中未示出),配置用于生成配置文件,包括:頁面模塊信息獲取子單元(圖中未示出),配置用于對(duì)待生成頁面的內(nèi)容進(jìn)行分析,將待生成頁面劃分成至少一個(gè)頁面模塊,并獲取至少一個(gè)頁面模塊的頁面模塊信息;組件信息獲取子單元(圖中未示出),配置用于對(duì)于至少一個(gè)頁面模塊中的每個(gè)頁面模塊,對(duì)該頁面模塊的內(nèi)容進(jìn)行分析,獲取該頁面模塊的至少一個(gè)組件的組件信息;配置文件生成子單元(圖中未示出),配置用于基于至少一個(gè)頁面模塊的頁面模塊信息和至少一個(gè)頁面模塊中的每個(gè)頁面模塊的至少一個(gè)組件的組件信息,生成配置文件。
在本實(shí)施例的一些可選的實(shí)現(xiàn)方式中,組件信息獲取子單元(圖中未示出)包括:模板組件信息獲取模塊(圖中未示出),配置用于對(duì)于至少一個(gè)頁面模塊中的每個(gè)頁面模塊,對(duì)該頁面模塊的布局進(jìn)行分析,獲取該頁面模塊的模板組件的組件信息;樣式組件信息獲取模塊(圖中未示出),配置用于對(duì)該頁面模塊的樣式進(jìn)行分析,獲取該頁面模塊的樣式組件的組件信息;功能組件信息獲取模塊(圖中未示出),配置用于對(duì)該頁面模塊的功能進(jìn)行分析,獲取該頁面模板的功能組件的組件信息。
下面參考圖6其示出了適于用來實(shí)現(xiàn)本申請(qǐng)實(shí)施例的服務(wù)器的計(jì)算機(jī)系統(tǒng)600的結(jié)構(gòu)示意圖。圖6出的服務(wù)器僅僅是一個(gè)示例,不應(yīng)對(duì)本申請(qǐng)實(shí)施例的功能和使用范圍帶來任何限制。
如圖6示,計(jì)算機(jī)系統(tǒng)600包括中央處理單元(cpu)601,其可以根據(jù)存儲(chǔ)在只讀存儲(chǔ)器(rom)602中的程序或者從存儲(chǔ)部分608加載到隨機(jī)訪問存儲(chǔ)器(ram)603中的程序而執(zhí)行各種適當(dāng)?shù)膭?dòng)作和處理。在ram603中,還存儲(chǔ)有系統(tǒng)600操作所需的各種程序和數(shù)據(jù)。cpu601、rom602以及ram603通過總線604彼此相連。輸入/輸出(i/o)接口605也連接至總線604。
以下部件連接至i/o接口605:包括鍵盤、鼠標(biāo)等的輸入部分606;包括諸如陰極射線管(crt)、液晶顯示器(lcd)等以及揚(yáng)聲器等的輸出部分607;包括硬盤等的存儲(chǔ)部分608;以及包括諸如lan卡、調(diào)制解調(diào)器等的網(wǎng)絡(luò)接口卡的通信部分609。通信部分609經(jīng)由諸如因特網(wǎng)的網(wǎng)絡(luò)執(zhí)行通信處理。驅(qū)動(dòng)器610也根據(jù)需要連接至i/o接口605??刹鹦督橘|(zhì)611,諸如磁盤、光盤、磁光盤、半導(dǎo)體存儲(chǔ)器等等,根據(jù)需要安裝在驅(qū)動(dòng)器610上,以便于從其上讀出的計(jì)算機(jī)程序根據(jù)需要被安裝入存儲(chǔ)部分608。
特別地,根據(jù)本公開的實(shí)施例,上文參考流程圖描述的過程可以被實(shí)現(xiàn)為計(jì)算機(jī)軟件程序。例如,本公開的實(shí)施例包括一種計(jì)算機(jī)程序產(chǎn)品,其包括承載在計(jì)算機(jī)可讀介質(zhì)上的計(jì)算機(jī)程序,該計(jì)算機(jī)程序包含用于執(zhí)行流程圖所示的方法的程序代碼。在這樣的實(shí)施例中,該計(jì)算機(jī)程序可以通過通信部分609從網(wǎng)絡(luò)上被下載和安裝,和/或從可拆卸介質(zhì)611被安裝。在該計(jì)算機(jī)程序被中央處理單元(cpu)601執(zhí)行時(shí),執(zhí)行本申請(qǐng)的方法中限定的上述功能。
需要說明的是,本申請(qǐng)上述的計(jì)算機(jī)可讀介質(zhì)可以是計(jì)算機(jī)可讀信號(hào)介質(zhì)或者計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)或者是上述兩者的任意組合。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)例如可以是——但不限于——電、磁、光、電磁、紅外線、或半導(dǎo)體的系統(tǒng)、裝置或器件,或者任意以上的組合。計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)的更具體的例子可以包括但不限于:具有一個(gè)或多個(gè)導(dǎo)線的電連接、便攜式計(jì)算機(jī)磁盤、硬盤、隨機(jī)訪問存儲(chǔ)器(ram)、只讀存儲(chǔ)器(rom)、可擦式可編程只讀存儲(chǔ)器(eprom或閃存)、光纖、便攜式緊湊磁盤只讀存儲(chǔ)器(cd-rom)、光存儲(chǔ)器件、磁存儲(chǔ)器件、或者上述的任意合適的組合。在本申請(qǐng)中,計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)可以是任何包含或存儲(chǔ)程序的有形介質(zhì),該程序可以被指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用。而在本申請(qǐng)中,計(jì)算機(jī)可讀的信號(hào)介質(zhì)可以包括在基帶中或者作為載波一部分傳播的數(shù)據(jù)信號(hào),其中承載了計(jì)算機(jī)可讀的程序代碼。這種傳播的數(shù)據(jù)信號(hào)可以采用多種形式,包括但不限于電磁信號(hào)、光信號(hào)或上述的任意合適的組合。計(jì)算機(jī)可讀的信號(hào)介質(zhì)還可以是計(jì)算機(jī)可讀存儲(chǔ)介質(zhì)以外的任何計(jì)算機(jī)可讀介質(zhì),該計(jì)算機(jī)可讀介質(zhì)可以發(fā)送、傳播或者傳輸用于由指令執(zhí)行系統(tǒng)、裝置或者器件使用或者與其結(jié)合使用的程序。計(jì)算機(jī)可讀介質(zhì)上包含的程序代碼可以用任何適當(dāng)?shù)慕橘|(zhì)傳輸,包括但不限于:無線、電線、光纜、rf等等,或者上述的任意合適的組合。
附圖中的流程圖和框圖,圖示了按照本申請(qǐng)各種實(shí)施例的系統(tǒng)、方法和計(jì)算機(jī)程序產(chǎn)品的可能實(shí)現(xiàn)的體系架構(gòu)、功能和操作。在這點(diǎn)上,流程圖或框圖中的每個(gè)方框可以代表一個(gè)模塊、程序段、或代碼的一部分,該模塊、程序段、或代碼的一部分包含一個(gè)或多個(gè)用于實(shí)現(xiàn)規(guī)定的邏輯功能的可執(zhí)行指令。也應(yīng)當(dāng)注意,在有些作為替換的實(shí)現(xiàn)中,方框中所標(biāo)注的功能也可以以不同于附圖中所標(biāo)注的順序發(fā)生。例如,兩個(gè)接連地表示的方框?qū)嶋H上可以基本并行地執(zhí)行,它們有時(shí)也可以按相反的順序執(zhí)行,這依所涉及的功能而定。也要注意的是,框圖和/或流程圖中的每個(gè)方框、以及框圖和/或流程圖中的方框的組合,可以用執(zhí)行規(guī)定的功能或操作的專用的基于硬件的系統(tǒng)來實(shí)現(xiàn),或者可以用專用硬件與計(jì)算機(jī)指令的組合來實(shí)現(xiàn)。
描述于本申請(qǐng)實(shí)施例中所涉及到的單元可以通過軟件的方式實(shí)現(xiàn),也可以通過硬件的方式來實(shí)現(xiàn)。所描述的單元也可以設(shè)置在處理器中,例如,可以描述為:一種處理器包括組件匹配單元、組件選取單元、頁面模塊生成單元和頁面生成單元。其中,這些單元的名稱在某種情況下并不構(gòu)成對(duì)該單元本身的限定,例如,組件匹配單元還可以被描述為“對(duì)于預(yù)先生成的配置文件中的每個(gè)組件信息,將該組件信息與預(yù)先存儲(chǔ)的組件集合中的各個(gè)組件的組件信息進(jìn)行匹配的單元”。
作為另一方面,本申請(qǐng)還提供了一種計(jì)算機(jī)可讀介質(zhì),該計(jì)算機(jī)可讀介質(zhì)可以是上述實(shí)施例中描述的服務(wù)器中所包含的;也可以是單獨(dú)存在,而未裝配入該服務(wù)器中。上述計(jì)算機(jī)可讀介質(zhì)承載有一個(gè)或者多個(gè)程序,當(dāng)上述一個(gè)或者多個(gè)程序被該服務(wù)器執(zhí)行時(shí),使得該服務(wù)器:對(duì)于預(yù)先生成的配置文件中的每個(gè)組件信息,將該組件信息與預(yù)先存儲(chǔ)的組件集合中的各個(gè)組件的組件信息進(jìn)行匹配,其中,配置文件用于記錄待生成頁面的至少一個(gè)頁面模塊的頁面模塊信息和至少一個(gè)頁面模塊中的每個(gè)頁面模塊的至少一個(gè)組件的組件信息;若匹配成功,從組件集合中選取出匹配成功的組件信息所指示的組件作為目標(biāo)組件;基于配置文件中的至少一個(gè)頁面模塊中的每個(gè)頁面模塊的至少一個(gè)組件的組件信息,對(duì)目標(biāo)組件進(jìn)行組合,生成至少一個(gè)頁面模塊;基于配置文件中的待生成頁面的至少一個(gè)頁面模塊的頁面模塊信息,對(duì)所生成的至少一個(gè)頁面模塊進(jìn)行組合,生成頁面。
以上描述僅為本申請(qǐng)的較佳實(shí)施例以及對(duì)所運(yùn)用技術(shù)原理的說明。本領(lǐng)域技術(shù)人員應(yīng)當(dāng)理解,本申請(qǐng)中所涉及的發(fā)明范圍,并不限于上述技術(shù)特征的特定組合而成的技術(shù)方案,同時(shí)也應(yīng)涵蓋在不脫離上述發(fā)明構(gòu)思的情況下,由上述技術(shù)特征或其等同特征進(jìn)行任意組合而形成的其它技術(shù)方案。例如上述特征與本申請(qǐng)中公開的(但不限于)具有類似功能的技術(shù)特征進(jìn)行互相替換而形成的技術(shù)方案。