專利名稱:一種組件解析的方法和系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本申請屬于IP網(wǎng)絡(luò)技術(shù)領(lǐng)域,尤其涉及一種組件解析的方法和系統(tǒng)。
背景技術(shù):
目前,隨著網(wǎng)絡(luò)技術(shù)的不斷發(fā)展,對于WEB應(yīng)用的開發(fā)也日益受關(guān)注,WEB應(yīng)用的開發(fā)主要是對組件的開發(fā)和使用,根據(jù)不同的需求WEB應(yīng)用可能是多種多樣的,但是其中應(yīng)用到的組件大致相同,所以開發(fā)一套可復(fù)用性高的組件構(gòu)建系統(tǒng)十分必要。
其中組件是指任何可復(fù)用的對象,能完成某種功能并對外提供一些接口來使用這些功能。組件主要包括一些可視化的、與用戶交互的界面元素,小的如一個(gè)輸入框, 一個(gè)選擇框,大的如一整個(gè)WEB頁面等等。
在現(xiàn)有技術(shù)中組件開發(fā)和使用包括
步驟IOI、客戶端向WEB應(yīng)用服務(wù)器發(fā)起一個(gè)頁面請求,該頁面中所引用的組件都是基于特定語言開發(fā)的。
步驟102、 WEB應(yīng)用服務(wù)器接收到客戶端的請求后,基于所述特定的語言對所述客戶端請求的頁面進(jìn)行解析,并將解析后得到的標(biāo)記語言和腳本發(fā)送至客戶端;
步驟103 ,客戶端接收到所述標(biāo)記語言和腳本后顯示請求的頁面。上述方案的缺點(diǎn)是需要使用特定的語言構(gòu)建組件體系,編輯組件的語言需要與服務(wù)端語言綁定不利移植。
發(fā)明內(nèi)容
本申請實(shí)施例提供一種組件解析的方法和系統(tǒng),應(yīng)用本申請實(shí)施例所述提供的方法和裝置解決了組件開發(fā)語言與服務(wù)器端語言綁定導(dǎo)致可移植性低的問題。
一種組件解析的方法,應(yīng)用結(jié)構(gòu)化描述語言描述組件的全局名和組件能夠
響應(yīng)的事件,生成組件描述文件;當(dāng)WEB頁面的才莫板應(yīng)用組件時(shí),通過組件引用信息引用組件,該方法包括
WEB應(yīng)用服務(wù)器接收到客戶端發(fā)起的對WEB頁面的請求后,根據(jù)該請求調(diào)用所述WEB頁面對應(yīng)的才莫板和數(shù)據(jù);
解析所述模板將所述數(shù)據(jù)添加到該模板中,其中,當(dāng)解析到所述模板中應(yīng)用組件引用信息引用的組件時(shí),利用模板中包含的組件引用信息調(diào)用所述組件對應(yīng)的組件描述文件,4艮據(jù)該組件描述文件生成描述該組件的標(biāo)記語言和腳本,并將該組件的標(biāo)記語言和腳本添加到所述才莫板中,在解析所述組件的標(biāo)記語言和腳本后生成引用的組件;
將解析得到的WEB頁面返回客戶端。
一種組件解析的系統(tǒng),包括WEB應(yīng)用服務(wù)器和組件解析引擎WEB應(yīng)用服務(wù)器,用于存儲構(gòu)成WEB頁面的模板和數(shù)據(jù),其中,所述模板中包含引用組件的組件引用信息,當(dāng)接收到客戶端發(fā)起的WEB頁面請求時(shí),根據(jù)該請求從存儲單元中調(diào)用該WEB頁面對應(yīng)的模板和數(shù)據(jù),并解析所述模板將所述數(shù)據(jù)添加到該模板中,其中,當(dāng)解析到所述模板中應(yīng)用組件引用信息引用的組件時(shí),將所述組件引用信息發(fā)送至組件解析引擎,并將組件解析^ I擎返回的標(biāo)記語言和腳本添加到所述才莫板中;
組件解析引擎,用于利用接收到的組件引用信息調(diào)用所述組件對應(yīng)的組件描述文件得到描述該組件的標(biāo)記語言和腳本,將該組件的標(biāo)記語言和腳本返回WEB應(yīng)用服務(wù)器。
所述WEB應(yīng)用;i良務(wù)器包括存儲單元和應(yīng)用單元,其中,存儲單元,用于存儲構(gòu)成WEB頁面的模板和數(shù)據(jù),其中,所述模板中包含引用組件的組件引用信息;
應(yīng)用單元,用于當(dāng)接收到客戶端發(fā)起的對WEB頁面的請求時(shí),根據(jù)該請求從所述存儲單元中調(diào)用該WEB頁面對應(yīng)的4莫板和數(shù)據(jù),并解析所述模板將所述數(shù)據(jù)添加到所述才莫^反中,其中,當(dāng)解析到所述模板中應(yīng)用組件引用信息引用的組件時(shí),將所述組件引用信息發(fā)送至組件解析引擎,并將組件解析51擎返回的標(biāo)記語言和腳本添加到所述才莫4反中。
本申請實(shí)施例所提供的方法和系統(tǒng)實(shí)現(xiàn)了組件開發(fā)語言與服務(wù)端語言的隔離,從而在方便組件移至的同時(shí)也提高了 WEB應(yīng)用開發(fā)人員的開發(fā)效率。
圖1為現(xiàn)有技術(shù)中用于請求頁面的解析流程圖2為本申請實(shí)施例中對頁面中應(yīng)用組件全局名引用的組件進(jìn)行解析的流程圖; 、
圖3為本申請實(shí)施例中WEB應(yīng)用服務(wù)器對組件進(jìn)行解析的流程圖4為本申請實(shí)施例一種組件解析系統(tǒng)的結(jié)構(gòu)圖
圖5為本申請實(shí)施例一種WEB應(yīng)用服務(wù)器的結(jié)構(gòu)圖6為本申請實(shí)施例中組件解析引擎的結(jié)構(gòu)圖7為本申請實(shí)施例中應(yīng)用WEB服務(wù)調(diào)用的方式調(diào)用組件解析引擎對組件緊系解析的流程圖8為本申請實(shí)施例中應(yīng)用直接調(diào)用組件解析引擎的方式解析組件的流程圖。
具體實(shí)施例方式
本申請實(shí)施例中應(yīng)用結(jié)構(gòu)化描述語言描述組件的全局名和組件能夠響應(yīng)的事件,生成組件描述文件;當(dāng)WEB頁面的模板應(yīng)用組件時(shí),通過組件引用信息引用組件,該方法包括WEB應(yīng)用服務(wù)器接收到客戶端發(fā)起的對WEB頁面的請求后,根據(jù)該請求調(diào)用所述WEB頁面對應(yīng)的模板和數(shù)據(jù);解析所述模板將所述數(shù)據(jù)添加到該模板中,其中,當(dāng)解析到所述模板中應(yīng)用組件引用信息引用的組件時(shí),利用模板中包含的組件引用信息調(diào)用所述組件對應(yīng)的組件描述文件得到描述該組件的標(biāo)記語言和腳本,并將該組件的標(biāo)記語言和腳本添加到
所述模板中;將解析得到的WEB頁面返回客戶端。本申請實(shí)施例中組件開發(fā)和應(yīng)用具體包括
組件開發(fā)應(yīng)用結(jié)構(gòu)化描述語言編寫組件描述文件,其中,組件描述文件用于將組件的各個(gè)組成部分組織在一起進(jìn)行描述的文件,主要定義了組件的全局名及組件的組成部分,如一個(gè)textbox組件的組件描述文件內(nèi)容可以是如下
形式
<binding>
<implementation></implementation><template></template><handler></handler>
</binding>
在實(shí)際的應(yīng)用中,因?yàn)榻M件開發(fā)人員的不同或者是不同頁面對特定組件的
要求,開發(fā)出來的組件也不盡相同,因此應(yīng)用組件全局名來區(qū)分不同樣式的組
件,組件的全局名是保證每個(gè)組件唯一性的標(biāo)識符。
其中,組件的全局名可以由命名空間和組件名字組成,如
若組件名字叫textbox,組件的命名空間是http:〃www.alisoft.com/ns/xui ,則
組件就由http:〃www.alisoft.com/ns/xui和textbox來保i正其唯一性,即組件的全局名。
在本申請實(shí)施例中,所述組件的組成部分用于描述組件的外觀和能夠響應(yīng)的事件,每類組件的組成部分并不相同,因?yàn)榻M件劃分的方式或者稱呼等都會有所不同,其中,組件的組成部分主要包括組件的行為、外觀、事件的響應(yīng)及引用的外部資源等,如
Implementation,描述行為;
Template,描述外觀;Handlers,描述事件的響應(yīng);Resources,描述引用的外部資源;
組件的應(yīng)用WEB頁面由4莫板和添加在該才莫4反中的數(shù)據(jù)組成,當(dāng)應(yīng)用開發(fā)人員開發(fā)某個(gè)頁面時(shí),在本申請實(shí)施例中可以將所述才莫板視為由多個(gè)組件構(gòu)成,在生成所述才莫板時(shí)可以通過組件的組件引用信息引用組件,如
在頁面中需要使用 一個(gè)輸入框來輸入客戶名稱,輸入框組件的全局名是由命名空間http:〃www.alisoft.com/ns/xui和組件名textbox組成,則^吏用方式可以是〈textbox id-"name" label-"客戶名稱"xmlns="http:〃www.alisoft.com/ns/xui">
</textbox>
在應(yīng)用的語句中還可以加入對組件的限定,如該實(shí)施例中即可看到在組件textbox的前面就加入了一個(gè)標(biāo)記該文本框輸入內(nèi)容的標(biāo)記"客戶名稱",在實(shí)際的應(yīng)用中可以根據(jù)實(shí)際的需要設(shè)置選用組件的顏色、長寬等等組件的屬性值。
在本申請實(shí)施例所提供的組件描述文件獨(dú)立存儲,當(dāng)WEB應(yīng)用開發(fā)人員在開發(fā)某個(gè)WEB網(wǎng)頁應(yīng)用到某個(gè)組件的時(shí)候,則通過組件的引用信息引用需要的組件即可。
在實(shí)際的應(yīng)用中,組件描述文件可以用XML語言來組織,用JavaScript(腳本語言)和HTML (標(biāo)記語言)來實(shí)現(xiàn),示例如下
< xml version="1.0" encoding="GBK" >〈xbl:xbl
xmlns="http:〃www.w3.org/1999/xhtmr xmlns:xbl="http:〃www.alisoft.com/ns/xb1" xmlns:x="http:〃www.alisoft.com/ns/xui"> \\
<xbl:binding element="x|button">||定義組件的全局名||
<!-定義組件的方法和屬性->
<xbl:implementation><! [CDATA[
/*組件屬性定義*/id: null,
text: null,/*組件方法定義*/test: flmctionOU
]]></xbl:implementation><xbl:template>
<input class-"xcube-button" type="button" value="${text}" id="${id}" />
</xbl:template></xbl:binding></xbl:xbl>
上述內(nèi)容定義了 一個(gè)button組件,這個(gè)組件的命名空間是x對應(yīng)的一個(gè)地址 "http:Vwww.alisoft.com/ns/xui ,,, 因此組件的全局名就是指http:〃www.alisoft.com/ns/xui + button。
另外還給組件定義了兩個(gè)屬性id和text,定義了一個(gè)方法叫test (因方法里面的具體實(shí)現(xiàn)方式與本發(fā)明不相關(guān)因此不在此贅述),示例中屬性和方法的定義放在〈implementation〉中,在〈template〉中定義了這個(gè)組件的表現(xiàn)形式,其中S(text)是指將屬性text的值作為組件"外觀"的一部分,假設(shè)現(xiàn)在text的值是"**您好,,,那么最后的結(jié)果是〈input class="xcube-button" type="button"value-""您好"/>,其中(S(id)的實(shí)現(xiàn)方式與S(text)相同。
下面結(jié)合it明書附圖2所示,當(dāng)組件應(yīng)用到WEB頁面中后,組件解析的過程包括步驟
步驟201、客戶端向WEB應(yīng)用服務(wù)器發(fā)起一個(gè)頁面請求,為了便于描述在此定義該頁面是基于A語言開發(fā)的頁面。
步驟202, WEB應(yīng)用服務(wù)器接收到客戶端的請求后,根據(jù)該請求調(diào)用請求頁面對應(yīng)的模板和數(shù)據(jù),并應(yīng)用特定的語言解析所述模板,將所述數(shù)據(jù)與模板結(jié)合形成WEB頁面,當(dāng)解析到模板中應(yīng)用組件全局名引用的組件時(shí),獲取該模板中包含的組件引用信息,并通過所述組件引用信息調(diào)用所述組件對應(yīng)的組件描述文件生成描述該組件的標(biāo)記語言和腳本,并將該標(biāo)記語言和腳本添加到所述才莫板中。
其中,WEB應(yīng)用服務(wù)器接收到客戶端發(fā)起的對某個(gè)頁面的請求,根據(jù)該請求調(diào)用請求頁面對應(yīng)的模板和數(shù)據(jù),具體的實(shí)現(xiàn)方法包括
客戶端向WEB應(yīng)用服務(wù)器端發(fā)送請求頁面的統(tǒng)一資源定位器(URL,Uniform Resoure Locator)地址,即通過URL能夠唯一定位網(wǎng)絡(luò)上的某一資源。在WEB應(yīng)用服務(wù)器端,有相應(yīng)的配置文件用來指定某一URL對應(yīng)的模板,因此在WEB服務(wù)器接受到客戶端通過URL發(fā)起的頁面請求后,就會從相應(yīng)的配置中找到當(dāng)前請求對應(yīng)的才莫板和數(shù)據(jù),然后生成頁面。
步驟203, WEB應(yīng)用服務(wù)器將解析得到的WEB頁面返回客戶端,在客戶端顯示解析得到的WEB頁面。
如圖3所示,步驟202中,所述當(dāng)解析到才莫板中應(yīng)用組件引用信息引用的組件時(shí),并利用模板中包含的組件引用信息調(diào)用所述組件對應(yīng)的組件描述文件得到描述該組件的標(biāo)記語言和腳本,的具體實(shí)現(xiàn)步驟包括
步驟301、分析所述組件引用信息,該組件引用信息中包含組件的全局名和表示該組件特性的組件屬性值。
其中,所述組件引用信息是模板中的一段按特定格式的文本,并且所述組件的屬性值用于表明組件的形狀、顏色和使用目的等特征。
步驟302、通過組件的全局名獲取組件描述文件。
步驟303、將所述引用信息中包含的組件屬性值添加到組件描述文件中,生成描述引用組件的標(biāo)記語言和腳本。
如圖4所示,4艮據(jù)上述方法,本申請實(shí)施例還提供一種組件解析系統(tǒng),包括WEB應(yīng)用服務(wù)器401和組件解析引擎402:
WEB應(yīng)用服務(wù)器401,用于存儲構(gòu)成WEB頁面的模板和數(shù)據(jù),其中,所述模板中包含引用組件的組件引用信息,當(dāng)接收到客戶端發(fā)起的WEB頁面請求時(shí),根據(jù)該請求從所述存儲單元中調(diào)用該WEB頁面對應(yīng)的模板和數(shù)據(jù),應(yīng)用WEB頁面的開發(fā)語言解析所述模板將所述數(shù)據(jù)添加到所述模板中,其中,當(dāng)解析到所述才莫板中應(yīng)用組件引用信息引用的組件時(shí),將所述組件引用信息發(fā)送至組件解析引擎,并將組件解析引擎返回的標(biāo)記語言和腳本添加到所述才莫板
中;
組件解析引擎402,用于利用接收到的組件引用信息調(diào)用所述組件對應(yīng)的組件描述文件得到描述該組件的標(biāo)記語言和腳本,將該組件的標(biāo)記語言和腳本返回WEB應(yīng)用月l務(wù)器401。
其中,所述WEB應(yīng)用服務(wù)器包括存儲單元501和應(yīng)用單元502:
存儲單元501,用于存儲構(gòu)成WEB頁面的模板和數(shù)據(jù),其中,所述模板中包含引用組件的組件引用信息;
應(yīng)用單元502,用于當(dāng)接收到客戶端發(fā)起的WEB頁面請求時(shí),根據(jù)該請求從所述存儲單元501中調(diào)用該WEB頁面對應(yīng)的模板和數(shù)據(jù),解析所述模板將所述數(shù)據(jù)添加到所述模板中,當(dāng)解析到所述模板中應(yīng)用組件引用信息引用的組件時(shí),將所述組件引用信息發(fā)送至組件解析引擎402,并將組件解析引擎返回的標(biāo)記語言和腳本添加到所述模板中;
在本申請實(shí)施例中,所述組件解析引擎可以嵌入在所述WEB應(yīng)用服務(wù)器內(nèi);該組件解析引擎也可獨(dú)立的設(shè)置在WEB應(yīng)用服務(wù)器之外,在引用設(shè)置在WEB應(yīng)用服務(wù)器之外的組件解析引擎時(shí),首先在用戶請求頁面對應(yīng)的模板中設(shè)置需要調(diào)用的組件解析引擎的URL地址,然后WEB應(yīng)用服務(wù)器通過WEB服務(wù)調(diào)用的方式調(diào)用設(shè)置在WEB應(yīng)用服務(wù)器之外的組件解析引擎。
在本申請實(shí)施例中,當(dāng)調(diào)用設(shè)置在WEB應(yīng)用服務(wù)器之外的組件解析引擎時(shí),該WEB應(yīng)用服務(wù)器還包括
WEB服務(wù)調(diào)用接口503,用于為應(yīng)用單元502提供調(diào)用外部的組件解析51擎的接口。
如圖6所示,所述組件解析引擎402包括接收模塊601和解析模塊602:接收模塊601,用于接收應(yīng)用單元502發(fā)送 的組件引用信息,其中,所述組件引用信息包括組件的全局名和組件的屬性值;
解析模塊602,用于將所述引用信息中包含的組件屬性值添加到組件描述文件中,生成描述所述組件的標(biāo)記語言和腳本。
本申請實(shí)施例在實(shí)際的應(yīng)用中組件解析引擎支持兩種方式的調(diào)用第一種為直接調(diào)用組件解析引擎接口的方式;第二種為應(yīng)用WEB應(yīng)用服務(wù)器遠(yuǎn)程調(diào)用組件解析引擎的方式,其中具體的實(shí)現(xiàn)流程如圖7和圖8所示
如圖7所示,各WEB應(yīng)用服務(wù)器的組件解析引擎以WEB服務(wù)的方式開放其接口 , WEB應(yīng)用服務(wù)器可以遠(yuǎn)程調(diào)用設(shè)置在WEB應(yīng)用服務(wù)器外部的組件解析引擎,在具體的應(yīng)用中包括步驟
步驟701,客戶端向WEB應(yīng)用服務(wù)器發(fā)起一個(gè)WEB頁面請求。
步驟702, WEB應(yīng)用服務(wù)器接收到客戶端的請求后,調(diào)用請求頁面對應(yīng)的模板和數(shù)據(jù),應(yīng)用單元解析所述模板并將所述數(shù)據(jù)添加到所述模板中形成WEB頁面。
步驟703 ,當(dāng)應(yīng)用單元解析到所述模板中應(yīng)用組件引用信息引用的組件時(shí),以WEB服務(wù)調(diào)用的方式調(diào)用組件解析引擎,并將所述組件引用信息發(fā)送給調(diào)用的組件解析引擎,所述組件解析? 1擎根據(jù)所述組件引用信息解析所述模板中引用的組件得到描述該組件的標(biāo)記語言和腳本,并將得到的標(biāo)記語言和腳本返回應(yīng)用單元。
步驟704, WEB應(yīng)用服務(wù)器將解析得到的WEB頁面返回客戶端,客戶端顯示所述解析得到的WEB頁面。
如圖8所示,直接調(diào)用組件解析引擎接口將組件引用信息發(fā)送給組件解析引擎在該種方式中組件解析引擎為嵌入式,即組件解析引擎與應(yīng)用開發(fā)人員開發(fā)的應(yīng)用運(yùn)行在同一 WEB應(yīng)用服務(wù)器中,組件解析引擎的開發(fā)語言與WEB頁面的開發(fā)語言相同,當(dāng)應(yīng)用開發(fā)人員需要開發(fā)基于新語言的WEB頁面時(shí),只需將組件解析引擎基于新語言重新實(shí)現(xiàn),頁面中的組件則不需修改,在具體的應(yīng)用中包括步驟步驟801、客戶端向WEB應(yīng)用服務(wù)器發(fā)起一個(gè)頁面請求,所述頁面;1^于A語言開發(fā)的。
步驟802、 WEB應(yīng)用服務(wù)器接收到客戶端的請求后,調(diào)用請求頁面對應(yīng)的模板和數(shù)據(jù),應(yīng)用單元解析所述模板將數(shù)據(jù)添加到所述模板中形成WEB頁面,其中,當(dāng)解析到模板中應(yīng)用組件引用信息引用的組件時(shí),直接調(diào)用引擎接口將組件引用信息發(fā)送給基于A語言開發(fā)的組件解析引擎,所述組件解析引擎對組件引用信息引用的組件進(jìn)行解析,并將解析后生成的標(biāo)記語言和腳本返回應(yīng)用單元;
步驟803、 WEB應(yīng)用服務(wù)器將解析得到的WEB頁面返回客戶端,所述客戶端顯示所述解析得到的WEB頁面。
如果需要引用一個(gè)button組件,則引用該組件的引用信息可以是〈x:button id="sayhello" text-""您好"x/x:button〉應(yīng)用本發(fā)明實(shí)施例的組件解析引擎實(shí)現(xiàn)該組件的具體實(shí)現(xiàn)過程包括
A. 當(dāng)組件解析引擎遇到這樣的組件引用信息時(shí),通過組件的全局名找到對應(yīng)的組件描述文件。
B. 組件解析引擎根據(jù)組件描述文件將組件的各個(gè)部分組織起來,并與組件引用信息中包含的屬性值結(jié)合起來,如上示例經(jīng)過組件解析引擎的解析后會輸出這樣的結(jié)果
<input class="xcube-button" type="button" value-""您好"id="sayhello" /><script>manager.register("sayhello", {methods: {test: fUnctionOU}})</script>
這里有兩部分,組件解析引擎一方面把〈template〉的內(nèi)容直接結(jié)合組件引用時(shí)的屬性值,輸出成HTML(標(biāo)記語言),另一方面又在manager (是負(fù)責(zé)管理頁面中的所有組件的)中注冊這個(gè)組件,主要是將〈mplementation〉中的方法提取出來,這樣則可通過manager.get("sayhello").test()這種形式來使用引用組件的方法?;蛘哌@個(gè)示例中就是當(dāng)讀取到〈mplementation〉時(shí),生成<script>manager.register("sayhello", {methods: {test: ftinctionOU}})</script>
當(dāng)讀取到〈template〉時(shí),生成
<input class="xcube-button" type="button" value="* ' id="sayhello" />組件解析引擎是基于結(jié)構(gòu)化描述語言的組件描述文件構(gòu)建起來的,這就使開發(fā)符合引擎規(guī)范的組件十分容易。通過第三方組件開發(fā)商的開發(fā),組件會越來越豐富,應(yīng)用開發(fā)人員有了更多的選擇,從而能滿足更多、更復(fù)雜的業(yè)務(wù)需求。
本申請所述的方法并不限于具體實(shí)施方式
中所述的實(shí)施例,本領(lǐng)域技術(shù)人員根據(jù)本申請的技術(shù)方案得出其它的實(shí)施方式,同樣屬于本申請的技術(shù)創(chuàng)新范
圍。顯然,本領(lǐng)域的技術(shù)人員可以對本申請進(jìn)行各種改動(dòng)和變型而不脫離本申請的精神和范圍。這樣,倘若本申請的這些修改和變型屬于本申請權(quán)利要求及其等同技術(shù)的范圍之內(nèi),則本申請也意圖包含這些改動(dòng)和變型在內(nèi)。
權(quán)利要求
1、一種組件解析的方法,其特征在于,應(yīng)用結(jié)構(gòu)化描述語言描述組件的全局名和構(gòu)成組件的各組成部分,生成組件描述文件;當(dāng)WEB頁面的模板應(yīng)用組件時(shí),通過組件引用信息引用組件,該方法包括WEB應(yīng)用服務(wù)器接收到客戶端發(fā)起的對WEB頁面的請求后,根據(jù)該請求調(diào)用所述WEB頁面對應(yīng)的模板和數(shù)據(jù);解析所述模板將所述數(shù)據(jù)添加到該模板中,其中,當(dāng)解析到所述模板中應(yīng)用組件引用信息引用的組件時(shí),利用模板中包含的組件引用信息調(diào)用所述組件對應(yīng)的組件描述文件,根據(jù)該組件描述文件生成描述該組件的標(biāo)記語言和腳本,并將該組件的標(biāo)記語言和腳本添加到所述模板中,在解析所述組件的標(biāo)記語言和腳本后生成引用的組件;將解析得到的WEB頁面返回客戶端。
2、 如權(quán)利要求1所述的方法,其特征在于,所述組件引用信息中包括組 件全局名和組件屬性值;則利用模板中包含的組件引用信息調(diào)用所述組件對應(yīng)的組件描述文件,根 據(jù)該組件描述文件將所述構(gòu)成組件的各組成部分組織起得到描述該組件的標(biāo) 記語言和腳本,包括通過組件全局名獲取組件描述文件;將所述引用信息中包含的組件屬性值添加到組件描述文件中,生成描述所 述組件的標(biāo)記語言和腳本。
3、 如權(quán)利要求2所述的方法,其特征在于,所述組件全局名包括組件名 稱和命名空間。
4、 一種組件解析的系統(tǒng),其特征在于,包括WEB應(yīng)用服務(wù)器和組件解析 引擎WEB應(yīng)用服務(wù)器,用于存儲構(gòu)成WEB頁面的模板和數(shù)據(jù),其中,所述 模板中包含引用組件的組件引用信息,當(dāng)接收到客戶端發(fā)起的WEB頁面請求時(shí),根據(jù)該請求從存儲單元中調(diào)用該WEB頁面對應(yīng)的模板和數(shù)據(jù),并解析所述模板將所述數(shù)據(jù)添加到該才莫板中,其中,當(dāng)解析到所述才莫板中應(yīng)用組件引用信息引用的組件時(shí),將所述組件引用信息發(fā)送至組件解析引擎,并將組件解析引擎返回的標(biāo)記語言和腳本添加到所述模板中;組件解析引擎,用于利用接收到的組件引用信息調(diào)用所述組件對應(yīng)的組件描述文件得到描述該組件的標(biāo)記語言和腳本,將該組件的標(biāo)記語言和腳本返回WEB應(yīng)用服務(wù)器。
5、 如權(quán)利要求4所述的系統(tǒng),其特征在于,所述WEB應(yīng)用服務(wù)器包括存儲單元和應(yīng)用單元存儲單元,用于存儲構(gòu)成WEB頁面的模板和數(shù)據(jù),其中,所述模板中包含引用組件的組件引用信息;應(yīng)用單元,用于當(dāng)接收到客戶端發(fā)起的對WEB頁面的請求時(shí),根據(jù)該請求從所述存儲單元中調(diào)用該WEB頁面對應(yīng)的模板和數(shù)據(jù),并解析所述模板將所述數(shù)據(jù)添加到所述模板中,其中,當(dāng)解析到所述模板中應(yīng)用組件引用信息引用的組件時(shí),將所述組件引用信息發(fā)送至組件解析引擎,并將組件解析$ I擎返回的標(biāo)記語言和腳本添加到所述模板中。
6、 如權(quán)利要求4所述的系統(tǒng),其特征在于,所述組件解析引擎在所述WEB應(yīng)用服務(wù)器中。
7、 如權(quán)利要求5所述的系統(tǒng),其特征在于,所述WEB應(yīng)用服務(wù)器還包括WEB服務(wù)調(diào)用接口,用于為應(yīng)用單元提供調(diào)用外部的組件解析引擎的接cr 。
8、 如權(quán)利要求4~7任一權(quán)項(xiàng)所述的系統(tǒng),其特征在于,所述組件解析引擎包括接收模塊,用于接收WEB應(yīng)用服務(wù)器發(fā)送來的組件引用信息,其中,所述組件引用信息包括組件的全局名和組件的屬性值;解析模塊,用于將所述引用信息中包含的組件屬性值添加到組件描述文件中,生成描述所述組件的標(biāo)記語言和腳本。
全文摘要
本申請公開了一種組件解析的方法和系統(tǒng),該方法包括應(yīng)用結(jié)構(gòu)化描述語言描述組件的全局名和組件能夠響應(yīng)的事件,生成組件描述文件;當(dāng)WEB頁面的模板應(yīng)用組件時(shí),通過組件引用信息引用組件,WEB應(yīng)用服務(wù)器接收到客戶端發(fā)起的對WEB頁面的請求后,根據(jù)該請求調(diào)用所述WEB頁面對應(yīng)的模板和數(shù)據(jù);解析所述模板將所述數(shù)據(jù)添加到該模板中,其中,當(dāng)解析到所述模板中應(yīng)用組件引用信息引用的組件時(shí),利用模板中包含的組件引用信息調(diào)用所述組件對應(yīng)的組件描述文件得到描述該組件的標(biāo)記語言和腳本;將解析得到的WEB頁面返回客戶端。本申請所提供的方法方便了組件移植的同時(shí)也提高了WEB應(yīng)用開發(fā)人員的開發(fā)效率。
文檔編號G06F9/44GK101599015SQ20091015013
公開日2009年12月9日 申請日期2009年7月7日 優(yōu)先權(quán)日2009年7月7日
發(fā)明者珊 姜, 殷安平, 鄭色樹, 陳志敏, 陳挺佳 申請人:阿里巴巴集團(tuán)控股有限公司