專利名稱:一種Web界面擴展方法和裝置的制作方法
技術領域:
本發明涉及網絡技術領域,特別涉及一種Web界面擴展方法和裝置。
背景技術:
在應用軟件中,對界面功能的擴展是軟件可擴展性的基礎,因為軟件功能的任何增減都最終體現到與用戶交互的界面上,如果界面的功能無法輕易的擴展或改變,那么軟件功能的任何增減都很難提供用戶使用。
目前對于Web界面的界面擴展功能還無法進行動態擴展。如圖1所示,為現有技術Web界面生成和回應流程圖,該Web界面生成和回應流程圖基于B/S(Browser/Server,瀏覽器/服務器)結構。根據HTTP(Hyper Text TransferProtocol,超文本傳輸協議)協議,當客戶端需要訪問某Web界面時,首先向Web服務器發送HTTP請求;Web服務器收到請求后,交給服務器端業務處理單元進行處理;處理完成后,根據結果動態生成Web界面,此時的Web界面為HTML(Hypertext Markup Language,超文本創建語言)格式;Web服務器繼而將表示用戶界面的回應消息反饋給客戶端瀏覽器,客戶端瀏覽器則在屏幕上顯示新的用戶界面。由于用戶是由在Web服務器端動態生成的HTML文檔來表示的,因此在界面上動態的增加或刪除某部分的內容是非常困難的。
針對上述問題,目前使用通過隱藏某些已有界面來實現對Web界面內容的增刪,如圖2所示,為現有技術對Web界面擴展的示意圖。該技術方案在利用現有成熟的Web組件技術,在開發時就將功能界面組件化,這樣這些組件就可以針對多種客戶端類型而用不同的方式來顯示,例如可根據配置文件或用戶的請求,只顯示部分界面內容,而將無關的界面內容隱藏。通過這種方法就可以不用完全從頭構建用戶界面。
上述技術方案缺點是必須一次完成所有內容,而將來未知內容無法進行擴展,并且如果要增加新的界面還必須對原來的界面實現進行修改,不能滿足動態擴展的要求。
發明內容
本發明要解決的問題是提供一種Web界面動態擴展的方法和裝置,可以對Web界面進行無限制的動態擴展。
為達到上述目的,本發明的實施例的技術方案提出一種Web界面擴展方法,用于對Web界面功能進行動態擴展,包括以下步驟在Web界面需要擴展的地方創建擴展點組件;創建待擴展內容;將所述待擴展內容導入所述擴展點組件。
其中,所述創建待擴展內容具體包括以下步驟設置所述擴展點組件的擴展項目;按照所述擴展點組件的擴展項目編寫配置文件;擴展點組件將所述待擴展內容導入所述擴展點組件具體包括直接將所述配置文件導入所述擴展點組件對應的組件代碼。
其中,所述創建待擴展內容具體包括將所述待擴展內容設置為擴展組件;擴展點組件將所述待擴展內容導入所述擴展點組件具體包括將所述擴展組件導入所述擴展點組件。
其中,所述創建待擴展內容還包括創建待擴展內容與需要適配的擴展點組件的對應關系。
其中,自動發現待擴展內容并獲得上述對應關系,然后將其保存作為將所述待擴展內容導入所述擴展點組件的依據。
為達到上述目的,本發明的實施例的技術方案還提出一種Web界面擴展裝置,用于對Web界面功能進行動態擴展,包括自動裝配模塊,用于將預先設定的待擴展內容導入一個預先設定的并且與所述擴展內容適配的擴展點組件中,以配合擴展點組件完成繪制客戶端生成網頁所需要的代碼。
其中,所述自動裝配模塊包括配置文件導入子模塊,用于直接將按照所述擴展點組件的擴展項目編寫的配置文件導入所述擴展點組件對應的組件代碼。
其中,所述自動裝配模塊包括自動發現子模塊和裝配子模塊,所述自動發現子模塊,用于發現待擴展內容中預先寫入的所述擴展點組件與待擴展內容的對應關系,并向所述裝配子模塊進行注冊;所述裝配子模塊,用于根據上述對應關系將待擴展內容導入對應的擴展點組件。
本發明的實施例的技術方案還提出一種計算機程序,用于對Web界面功能進行動態擴展,包括若干指令用以使得一個計算機設備執行以下方法用于將預先設定的待擴展內容導入一個預先設定的并且與所述待擴展內容適配的擴展點組件中,以配合擴展點組件完成繪制客戶端生成網頁所需要的代碼。
其中,所述方法還包括以下步驟在設定擴展內容時,在所述待擴展內容中預先寫入與所述待擴展內容對應的擴展點組件的對應關系;在導入之前發現上述對應關系,并根據上述對應關系進行導入。
本發明的實施例的技術方案還提出一種存儲介質,存儲權利要求上述的計算機程序。
本發明的實施例的技術方案還提出一種計算機設備,包括用以執行前述Web界面擴展方法的軟件及與軟件配合的硬件。
本發明的實施例實現了對Web界面的動態擴展,界面的擴展不依賴于初始定義,無需知道未來可能增加的界面內容,只需將可能發生變化的地方創建擴展點組件,即可對Web界面做無限制的擴展。并且通過本實施例的方法在對Web界面動態擴展之后不會對原有界面功能產生影響。
圖1為現有技術Web界面生成和回應流程圖;圖2為現有技術對Web界面擴展的示意圖;圖3為現有技術由組件代碼最終在瀏覽器中顯示最終內容的示意圖;圖4為本發明實施例Web界面擴展裝置的結構圖;圖5為本發明實施例一種Web界面擴展方法流程圖;圖6為本發明實施例另一種Web界面擴展原理圖;圖7為本發明實施例擴展點組件與擴展組件組合生成HTML頁面代碼并在瀏覽器中顯示的示意圖。
具體實施例方式
下面結合附圖和實施例,對本發明的具體實施方式
作進一步詳細描述如圖3所示,為現有技術由組件代碼最終在瀏覽器中顯示最終內容的示意圖。標準的Web界面是由各種HTML元素(例如輸入框、按鈕等)和風格樣式(例如顏色、長度等)組成的,組件化技術就是將一種或多種元素及其關聯的樣式封裝在一起,形成一個組件,組件也可以包括其它組件,即組件可以迭代定義。每個組件都能夠自動繪制Web界面中的特定HTML元素和元素樣式。因此當收到用戶請求后,根據請求內容找到合理的組件(通常是一個組件樹),并使用組件自身的自動繪制功能根據組件代碼生成相應的HTML界面代碼,并返回給客戶端瀏覽器,即可在客戶端瀏覽器中顯示最終的內容。其中,組件代碼可以動態的設置各種屬性或增加各種不同的子組件,因此使用方式非常靈活,甚至還可以在運行過程中生成。
如圖4所示,為本發明實施例Web界面擴展裝置的結構圖。
Web界面擴展裝置1包括組件化模塊11和自動裝配模塊12。這里所說的組件化模塊11是指Web組件化技術的框架軟件,即工作環境,其中可以集成一些預先開發好的基本組件供開發人員使用,例如將Web界面的一些基本HTML元素(例如輸入框、按鈕等)和風格樣式(例如顏色、長度等)封裝在一起形成一個基本的組件(如一個簡單的輸入框);如果有第三方的軟件技術可以提供其他組件實現,本發明同樣也可以借用供web開發人員使用。當然,除了一些基本的組件很多組件可能仍然需要開發人員自己開發,在這一點上講,組件化模塊中提供的基本組件只是一個較佳的實施方式,然后并不是必須的,所有組件的代碼都可以由開發人員自行編寫,所以本發明只需要該組件化模塊所提供的工作環境,當然這一點對于本領域技術人員來說是不言而喻的。通過上面的描述可以知道,每個web界面或子界面在本發明中均可看作是一個Web組件或多個Web組件的組合。
本發明各個實施方式總體的思路是在Web頁面開發過程中,在開發人員認為所有可能需要擴展的地方均創建擴展點組件。然后利用自動裝配模塊12將待擴展內容導入擴展點組件,完成對Web界面的動態擴展。自動裝配模塊12用于將預先設定的待擴展內容導入一個預先設定的并且與所述擴展內容適配的擴展點組件中,以配合擴展點組件完成繪制客戶端生成網頁所需要的代碼。這里所講的導入只是為了形象地描述本發明各個實施例的共性,本領域技術人員在閱讀以下實施例時應該可以清楚理解在技術上根據不同的實施方式,導入這個動作可以被理解為裝配、調用、嵌套等常用的技術用語。
本發明實施例提供了兩種將待擴展內容導入擴展點組件的方法,一種利用自動裝配模塊12中的配置文件導入子模塊123,直接將預先按照擴展點組件的擴展項目編寫的配置文件導入擴展點組件對應的組件代碼,實現對Web界面的動態擴展。
另一種方法是先將待擴展內容設置為擴展組件,利用自動裝配模塊12中的自動發現子模塊121和裝配子模塊122,將擴展組件導入對應的擴展點組件,實現對Web界面的動態擴展。其中,自動發現子模塊121用于發現待擴展內容中預先寫入的擴展點組件與待擴展內容的對應關系,并向裝配子模塊122進行注冊;裝配子模塊122用于根據上述對應關系將待擴展內容導入對應的擴展點組件。
對于這種注冊機制同樣可以用在前一種方法中,具體來說其可以是在配置文件或者擴展組件中聲明自己需要使用哪個擴展點,每次啟動的時候自動發現子模塊121就會遍歷所有的配置文件和擴展組件,從而知道他們與擴展點組件的對應關系,在實現上可以在待擴展內容中寫入擴展點組件的ID,該ID用于全局唯一標識該擴展點組件,這樣就等于知道了該擴展內容與要使用的擴展點組件之間的對應關系了。所謂向裝配子模塊122進行注冊是邏輯上的概念,這個對應關系只需要存放在裝配子模塊122可以調用到地方即可,比如說可以駐留在內存中。當然這種注冊機制對于一些基本的實施方式不是必需的,比如說只有一個擴展點,那就不需要知道所謂的對應關系,也不需要注冊,因為其對應關系是唯一的。
如圖5所示,為本發明實施例一種Web界面動態擴展方法的流程圖,該方法在創建擴展點組件之后,根據該擴展點組件的情況設置該擴展點組件的擴展項目,并按照擴展項目編寫的配置文件后直接將該配置文件導入擴展點組件對應的組件代碼,實現對Web界面的動態擴展。該實施例包括以下步驟步驟501在開發人員認為所有可能需要擴展的地方均創建擴展點組件。在Web界面開發過程中,在所有可能需要擴展的地方均創建擴展點組件,并給予該擴展點組件的ID,其中擴展點組件ID用于全局唯一標識此擴展點組件。
步驟502根據該擴展點組件的情況設置該擴展點組件的擴展項目。根據不同的擴展點組件的情況設置不同的擴展項目,并將該擴展項目存儲在該擴展點組件的組件代碼中,一般來說該擴展點組件需要將擴展項目內容繪制成具有HTML代碼功能的組件代碼預先寫入,如果這些擴展項目內無具體的內容時,則擴展點組件繪制的內容為空,因而在客戶端瀏覽器的Web界面上不會顯示任何內容。例如對于針對控制菜單的擴展點組件,其擴展項目可以為菜單項的圖標、菜單項的文字、點擊菜單按鈕后觸發的動作、以及操作執行完成后跳轉到的界面的四項信息,只要有滿足這四項擴展項目的配置文件導入就可以實現對Web界面的動態擴展。
步驟503創建待擴展內容,包括該待擴展內容需要實現擴展的擴展點組件的ID,按照該擴展點組件的擴展項目編寫的配置文件,一般來說這種文件僅僅提供擴展項目中的內容,供擴展點組件按照該配置文件的內容繪制對應的擴展項目,這些配置文件在內容上要滿足擴展項目的要求,否則可能出現裝配出錯的情況。配置文件在格式上可以采用*.xsd等格式的文件存放。
步驟504直接將該配置文件導入擴展點組件對應的組件代碼。該擴展點組件的組件代碼在收到配置文件后,寫入該擴展項目的對應內容,Web服務器在調用該擴展點組件時就將實現了Web頁面的動態擴展。
本發明實施例還提出了另一種Web界面擴展方法,該方法的原理圖如圖6所示,其詳細擴展流程如下首先,在Web界面開發過程中,將所有可能需要擴展的地方組件化,擴展點組件擴展點組件設置為擴展點組件,并給予該擴展點組件的ID,其中擴展點組件ID用于全局唯一標識此擴展點組件。更具體來說,擴展點組件只需要實現調用接口等基本功能,可以不需要具備繪制HTML代碼能力,繪制功能以及需要繪制的內容可以在放在擴展組件中實現,當然擴展組件必須有與擴展點組件適配的接口,此時擴展組件相當于掛在擴展點組件下的一個子組件。在這種情況下,擴展點組件下可以掛多個作為子組件的擴展組件,即實現了動態擴展。
將擴展點組件待擴展內容設置為擴展組件,即將需要在Web界面導入的內容組件化,并建立擴展組件與擴展點組件的對應關系;該擴展組件與擴展點組件的對應關系由對Web界面擴展的要求確定,可以是一對多的關系,即將一個擴展組件導入多個擴展點組件,也可以是多對一的關系,即將多個擴展組件導入同一個擴展點組件;此時如果只有擴展點組件而沒有擴展組件的話,在界面上不會顯示任何內容。擴展組件被導入到擴展點組件以后,即作為掛在擴展點組件下的一個子組件,擴展點組件在被調用時就可將待擴展內容變為HTML代碼發送給請求Web頁面的客戶端瀏覽器。
如圖7所示,為本發明實施例擴展點組件與擴展組件組合生成HTML頁面代碼并在瀏覽器中顯示的示意圖,其中擴展實現內容即為所有在需要該擴展點組件導入的擴展組件,擴展點組件和擴展實現均為由組件化技術生成的組件代碼,將擴展實現導入到擴展點組件后形成最終的HTML頁面代碼,并返回給客戶端瀏覽器,即可在客戶端瀏覽器中顯示擴展后的內容。由于組件代碼可以進行動態的維護,因此對應的HTML代碼也可以相應的動態生成,從而對Web界面進行動態的生成或擴展。
針對以上實施方式,需要補充說明的是,對于將擴展內容設置為配置文件的實施方式,配置文件對于擴展點組件來說是內容,擴展點組件只管按照自己的繪制功能把內容繪制出來,這樣多個配置文件可以不受限制地被裝配到擴展點組件中來以實現不受限制的動態擴展。而對于另一種實施方式,擴展組件作為掛在擴展點組件下的子組件,他們之間可以為最基本的調用關系,因此擴展點組件下掛擴展組件的數目也不受到限制,而且如果開發前期考慮不周的話,例如,本來一個地方需要設置擴展點B卻被設置為擴展點A,或者本來AB都需要,但只有A,這個時候可以把需要新增的擴展點B組件放在擴展點A組件下,作為擴展點組件中的子組件,因此本發明實施例可以非常靈活方便的設置擴展點組件。
通過以上的實施方式的描述,本領域的技術人員可以清楚地了解到本發明可借助軟件加必需的通用硬件平臺的方式來實現,當然也可以通過硬件,但很多情況下前者是更佳的實施方式。基于這樣的理解,本發明的技術方案本質上或者說對現有技術做出貢獻的部分可以以軟件產品的形式體現出來,該計算機軟件產品存儲在一個存儲介質中,包括若干指令用以使得一臺計算機設備(可以是個人計算機,服務器,或者網絡設備等)執行本發明各個實施例所述的方法。
以上所述僅是本發明的優選實施方式,應當指出,對于本技術領域的普通技術人員來說,在不脫離本發明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發明的保護范圍。
權利要求
1.一種Web界面擴展方法,用于對Web界面功能進行動態擴展,其特征在于,包括以下步驟在Web界面需要擴展的地方創建擴展點組件;創建待擴展內容;將所述待擴展內容導入所述擴展點組件。
2.如權利要求1所述Web界面擴展方法,其特征在于,所述創建待擴展內容具體包括以下步驟設置所述擴展點組件的擴展項目;按照所述擴展點組件的擴展項目編寫配置文件;擴展點組件將所述待擴展內容導入所述擴展點組件具體包括直接將所述配置文件導入所述擴展點組件對應的組件代碼。
3.如權利要求1所述Web界面擴展方法,其特征在于,所述創建待擴展內容具體包括將所述待擴展內容設置為擴展組件;擴展點組件將所述待擴展內容導入所述擴展點組件具體包括將所述擴展組件導入所述擴展點組件。
4.如權利要求1所述Web界面擴展方法,其特征在于,所述創建待擴展內容還包括創建待擴展內容與需要適配的擴展點組件的對應關系。
5.如權利要求4所述的Web界面擴展方法,其特征在于,自動發現待擴展內容并獲得上述對應關系,然后將其保存作為將所述待擴展內容導入所述擴展點組件的依據。
6.一種Web界面擴展裝置,用于對Web界面功能進行動態擴展,其特征在于,包括自動裝配模塊,用于將預先設定的待擴展內容導入一個預先設定的并且與所述擴展內容適配的擴展點組件中,以配合擴展點組件完成繪制客戶端生成網頁所需要的代碼。
7.如權利要求6所述Web界面擴展裝置,其特征在于,所述自動裝配模塊包括配置文件導入子模塊,用于直接將按照所述擴展點組件的擴展項目編寫的配置文件導入所述擴展點組件對應的組件代碼。
8.如權利要求6所述Web界面擴展裝置,其特征在于,所述自動裝配模塊包括自動發現子模塊和裝配子模塊,所述自動發現子模塊,用于發現待擴展內容中預先寫入的所述擴展點組件與待擴展內容的對應關系,并向所述裝配子模塊進行注冊;所述裝配子模塊,用于根據上述對應關系將待擴展內容導導入對應的擴展點組件。
9.一種計算機程序,用于對Web界面功能進行動態擴展,其特征在于,包括若干指令用以使得一個計算機設備執行以下方法用于將預先設定的待擴展內容導入一個預先設定的并且與所述待擴展內容適配的擴展點組件中,以配合擴展點組件完成繪制客戶端生成網頁所需要的代碼。
10.如權利要求9所述的計算機程序,其特征在于,其中所述方法還包括以下步驟在設定擴展內容時,在所述待擴展內容中寫入與所述待擴展內容對應的擴展點組件的對應關系;在導入之前發現上述對應關系,并根據上述對應關系進行導入。
11.一種存儲介質,其特征在于,存儲權利要求10所述的計算機程序。
12.一種計算機設備,其特征在于,包括用以執行前述權利要求1-5所述Web界面擴展方法的軟件及與軟件配合的硬件。
全文摘要
本發明公開了一種Web界面擴展方法,用于對Web界面的功能進行動態擴展,包括以下步驟在Web界面需要擴展的地方創建擴展點組件;創建待擴展內容;將所述待擴展內容導入所述擴展點組件。本發明通過在可能需要擴展的地方創建擴展點組件,即可對Web界面做無限制的擴展。
文檔編號G06F17/30GK101030139SQ20071009029
公開日2007年9月5日 申請日期2007年4月18日 優先權日2007年4月18日
發明者李方寧 申請人:杭州華為三康技術有限公司