您好,登錄后才能下訂單哦!
本篇內容介紹了“SimpleFramework組件開發(fā)的方法是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
Simple組件是基于Web的,凡是和Web相關的UI或業(yè)務邏輯,都可以成為Simple組件。
單一的后臺邏輯是Simple組件不支持的,比如建立一個網(wǎng)絡連接、訪問數(shù)據(jù)等,但這些業(yè)務邏輯和前端Web關聯(lián)起來,比如基于Web的網(wǎng)絡流量監(jiān)控,就可以成為Simple組件。
Simple組件隱藏了前端Web(HTML、Javascript、CSS等)的復雜性,同時,又為后端邏輯提供了一致、可操作的業(yè)務邏輯接口,并且開發(fā)者可以自由的設計這些接口。
Simple組件是開放的、友好的,任何開發(fā)者都可以很容易按照規(guī)范來開發(fā)自己的組件。
需要實現(xiàn)的四個接口
自定義組件,必須實現(xiàn)以下四個接口(類):
接口IComponentRegistry
定義組件的注冊類實例,并在系統(tǒng)初始化的時候注冊到系統(tǒng)注冊表里,這樣,自定義組件就可以使用了。代碼如下:
ComponentRegistryFactory.getInstance().regist(new YourComponentRegistry(servletContext));
IComponentRegistry主要函數(shù)的定義及說明:
String getComponentName(); 組件的名稱,這個值就是在XML描述中聲明的組件標簽,且必須*** IComponentRender getComponentRender(); 獲取組件的渲染器實例,詳細見下 IComponentResourceProvider getComponentResourceProvider(); 獲取組件的資源提供者實例,詳細見下 AbstractComponentBean createComponentBean(PageParameter pageParameter, Element component); 創(chuàng)建組件的元信息定義實例。組件的元信息來自XML描述文件,該實例將按XML中的定義來初始化Bean的屬性
接口IComponentResourceProvider
組件的資源提供者,該接口主要定義組件運行所必須依賴的資源環(huán)境,這些資源包括Javascript、CSS、jar或其它已注冊的組件等。
IComponentResourceProvider主要函數(shù)的定義及說明:
ZipInputStream getRequiredResource(); 以Zip的方式獲取組件所需要的全部資源。一個典型的目錄結構可能如下: ZIP |--jsp |--css |--images |--flash |--jar String getResourceHomePath(); 獲取組件資源被部署以后的Web訪問路徑。比如,你想獲取組件資源中的圖片路徑,可以通過以下代碼訪問: request.getContextPath() + getResourceHomePath() + “/images/t.png” String[] getCssPath(PageRequestResponse requestResponse); String[] getJavascriptPath(PageRequestResponse requestResponse); String[] getJarPath(); 聲明組件所依賴的特定資源,這些資源將被系統(tǒng)適當?shù)募尤腠憫綖g覽器的HTML中 String[] getPageJavascriptPath(PageRequestResponse requestResponse); String[] getPageCssPath(PageRequestResponse requestResponse); 和上面是一樣,聲明組件所依賴的特定資源,區(qū)別在于路徑是基于請求資源的,可以引用其它組件的 Javascript和css資源 String[] getDependentComponents(); 獲取組件資源所依賴的其它已注冊組件。比如,一個業(yè)務選擇窗口需要依賴基本的窗口組件
接口IComponentRender
組件渲染器,該接口負責向瀏覽器產(chǎn)生HTML(通過IComponentHtmlRender渲染)或者Javascript代碼(通過IComponentJavascriptRender渲染)。
組件渲染器還有一個重要的作用就是調用Handle中定義的業(yè)務邏輯。
IComponentHtmlRender主要函數(shù)的定義及說明:
String getHtml(ComponentParameter compParameter); 獲取組件被渲染的HTML String getHtmlJavascriptCode(ComponentParameter compParameter); 獲取額外的相關Javascript代碼
IComponentJavascriptRender主要函數(shù)的定義及說明:
String getJavascriptCode(ComponentParameter compParameter); 獲取組件被渲染的Javascript代碼
類AbstractComponentBean
組件的描述(元)信息類。組件的描述信息是由組件開發(fā)者根據(jù)組件的特定要求而設定的,組件的描述信息來自XML描述文件,開發(fā)者必須按XML中的定義來初始化組件Bean的屬性,參考接口IComponentRegistry中的定義。
定義XML Schema
XML Schema主要是驗證XML描述文件的正確性,借助Eclipse等IDE工具,可以更準確快捷的編寫組件的定義屬性。
組件開發(fā)者需要為組件添加XML Schema支持,并包含在simple .xsd文件里。
定義Handle
Handle是組件業(yè)務的核心處理類,是留給用戶的接口來聯(lián)系組件行為的通用方式。Handle的設計由組件開發(fā)者來完成,這樣可以根據(jù)組件的行為設計出更適合的、更易操作的業(yè)務邏輯。很多Web框架僅僅提供了Action之類的控制器,對于業(yè)務開發(fā)者來講,需要做的事情就太多了,Handle明確了該關心什么,并且如何去做。
舉一個具體的實例。“數(shù)據(jù)分頁”是動態(tài)處理大量數(shù)據(jù)集的一種有效方式,下面是IPagerHandle的定義:
int getCount(ComponentParameter compParameter); void process(ComponentParameter compParameter, int start);
IPagerHandle僅僅定義了兩個業(yè)務函數(shù)接口:getCount獲取結果集的總數(shù),process處理游標的當前位置為start的結果集。結合PagerBean的定義(每頁的顯示數(shù)量等),就可以很容易計算出當前顯示頁的數(shù)據(jù)集。
Handle必須繼承自接口IComponentHandle,IComponentHandle定義了一些缺省的組件業(yè)務行為。
“SimpleFramework組件開發(fā)的方法是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關的知識可以關注億速云網(wǎng)站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發(fā)布的內容(圖片、視頻和文字)以原創(chuàng)、轉載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權內容。