日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營銷解決方案
SimpleFramework框架高級特性之組件開發(fā)

Simple組件是基于Web的,凡是和Web相關(guān)的UI或業(yè)務(wù)邏輯,都可以成為Simple組件。

10年積累的成都網(wǎng)站制作、成都網(wǎng)站設(shè)計、外貿(mào)營銷網(wǎng)站建設(shè)經(jīng)驗,可以快速應(yīng)對客戶對網(wǎng)站的新想法和需求。提供各種問題對應(yīng)的解決方案。讓選擇我們的客戶得到更好、更有力的網(wǎng)絡(luò)服務(wù)。我雖然不認識你,你也不認識我。但先網(wǎng)站設(shè)計后付款的網(wǎng)站建設(shè)流程,更有渭南免費網(wǎng)站建設(shè)讓你可以放心的選擇與我們合作。

單一的后臺邏輯是Simple組件不支持的,比如建立一個網(wǎng)絡(luò)連接、訪問數(shù)據(jù)等,但這些業(yè)務(wù)邏輯和前端Web關(guān)聯(lián)起來,比如基于Web的網(wǎng)絡(luò)流量監(jiān)控,就可以成為Simple組件。

Simple組件隱藏了前端Web(HTML、Javascript、CSS等)的復雜性,同時,又為后端邏輯提供了一致、可操作的業(yè)務(wù)邏輯接口,并且開發(fā)者可以自由的設(shè)計這些接口。

Simple組件是開放的、友好的,任何開發(fā)者都可以很容易按照規(guī)范來開發(fā)自己的組件。

需要實現(xiàn)的四個接口

自定義組件,必須實現(xiàn)以下四個接口(類):

接口IComponentRegistry

定義組件的注冊類實例,并在系統(tǒng)初始化的時候注冊到系統(tǒng)注冊表里,這樣,自定義組件就可以使用了。代碼如下:

 
 
  1. ComponentRegistryFactory.getInstance().regist(new YourComponentRegistry(servletContext)); 

IComponentRegistry主要函數(shù)的定義及說明:

 
 
  1. String getComponentName();  
  2. 組件的名稱,這個值就是在XML描述中聲明的組件標簽,且必須***  
  3.  
  4. IComponentRender getComponentRender();  
  5. 獲取組件的渲染器實例,詳細見下  
  6.  
  7. IComponentResourceProvider getComponentResourceProvider();  
  8. 獲取組件的資源提供者實例,詳細見下  
  9.  
  10. AbstractComponentBean createComponentBean(PageParameter pageParameter, Element component);  
  11. 創(chuàng)建組件的元信息定義實例。組件的元信息來自XML描述文件,該實例將按XML中的定義來初始化Bean的屬性 

接口IComponentResourceProvider

組件的資源提供者,該接口主要定義組件運行所必須依賴的資源環(huán)境,這些資源包括Javascript、CSS、jar或其它已注冊的組件等。

IComponentResourceProvider主要函數(shù)的定義及說明:

 
 
  1. ZipInputStream getRequiredResource();  
  2. 以Zip的方式獲取組件所需要的全部資源。一個典型的目錄結(jié)構(gòu)可能如下:  
  3. ZIP  
  4.   |--jsp  
  5.   |--css  
  6.   |--images  
  7.   |--flash  
  8.   |--jar  
  9.     
  10. String getResourceHomePath();  
  11. 獲取組件資源被部署以后的Web訪問路徑。比如,你想獲取組件資源中的圖片路徑,可以通過以下代碼訪問:  
  12. request.getContextPath() + getResourceHomePath() + “/images/t.png”  
  13.     
  14. String[] getCssPath(PageRequestResponse requestResponse);  
  15. String[] getJavascriptPath(PageRequestResponse requestResponse);  
  16. String[] getJarPath();  
  17. 聲明組件所依賴的特定資源,這些資源將被系統(tǒng)適當?shù)募尤腠憫?yīng)到瀏覽器的HTML中  
  18.     
  19. String[] getPageJavascriptPath(PageRequestResponse requestResponse);  
  20. String[] getPageCssPath(PageRequestResponse requestResponse);  
  21. 和上面是一樣,聲明組件所依賴的特定資源,區(qū)別在于路徑是基于請求資源的,可以引用其它組件的  
  22. Javascript和css資源  
  23.  
  24. String[] getDependentComponents();  
  25. 獲取組件資源所依賴的其它已注冊組件。比如,一個業(yè)務(wù)選擇窗口需要依賴基本的窗口組件 

接口IComponentRender

組件渲染器,該接口負責向瀏覽器產(chǎn)生HTML(通過IComponentHtmlRender渲染)或者Javascript代碼(通過IComponentJavascriptRender渲染)。

組件渲染器還有一個重要的作用就是調(diào)用Handle中定義的業(yè)務(wù)邏輯。

IComponentHtmlRender主要函數(shù)的定義及說明:

 
 
  1. String getHtml(ComponentParameter compParameter);  
  2. 獲取組件被渲染的HTML  
  3.       
  4. String getHtmlJavascriptCode(ComponentParameter compParameter);  
  5. 獲取額外的相關(guān)Javascript代碼 

IComponentJavascriptRender主要函數(shù)的定義及說明:

 
 
  1. String getJavascriptCode(ComponentParameter compParameter);  
  2. 獲取組件被渲染的Javascript代碼 

類AbstractComponentBean

組件的描述(元)信息類。組件的描述信息是由組件開發(fā)者根據(jù)組件的特定要求而設(shè)定的,組件的描述信息來自XML描述文件,開發(fā)者必須按XML中的定義來初始化組件Bean的屬性,參考接口IComponentRegistry中的定義。

定義XML Schema

XML Schema主要是驗證XML描述文件的正確性,借助Eclipse等IDE工具,可以更準確快捷的編寫組件的定義屬性。

組件開發(fā)者需要為組件添加XML Schema支持,并包含在simple .xsd文件里。

定義Handle

Handle是組件業(yè)務(wù)的核心處理類,是留給用戶的接口來聯(lián)系組件行為的通用方式。Handle的設(shè)計由組件開發(fā)者來完成,這樣可以根據(jù)組件的行為設(shè)計出更適合的、更易操作的業(yè)務(wù)邏輯。很多Web框架僅僅提供了Action之類的控制器,對于業(yè)務(wù)開發(fā)者來講,需要做的事情就太多了,Handle明確了該關(guān)心什么,并且如何去做。

舉一個具體的實例?!皵?shù)據(jù)分頁”是動態(tài)處理大量數(shù)據(jù)集的一種有效方式,下面是IPagerHandle的定義:

 
 
  1. int getCount(ComponentParameter compParameter);  
  2.               
  3. void process(ComponentParameter compParameter, int start);  

IPagerHandle僅僅定義了兩個業(yè)務(wù)函數(shù)接口:getCount獲取結(jié)果集的總數(shù),process處理游標的當前位置為start的結(jié)果集。結(jié)合PagerBean的定義(每頁的顯示數(shù)量等),就可以很容易計算出當前顯示頁的數(shù)據(jù)集。

Handle必須繼承自接口IComponentHandle,IComponentHandle定義了一些缺省的組件業(yè)務(wù)行為。


新聞名稱:SimpleFramework框架高級特性之組件開發(fā)
新聞來源:http://m.5511xx.com/article/copeoed.html