欧美三区_成人在线免费观看视频_欧美极品少妇xxxxⅹ免费视频_a级毛片免费播放_鲁一鲁中文字幕久久_亚洲一级特黄

Oracle ADF框架介紹

系統(tǒng) 1907 0

ADF是(Application Development Framework)的簡稱,它的前身是 BC4J 。 光聽這個名字就知道它是一個end-to-end的框架。和Spring一樣它在企業(yè)應(yīng)用架構(gòu)的每一個層次都提供了它的支持。ADF的架構(gòu)如下圖所示:

在每一層ADF都有它的一些組件。我這次主要想講講ADF的data binding,因為它隔離了業(yè)務(wù)邏輯層和web層,使得兩個層次的獨立性更強。但是,ADF似乎做得過于復(fù)雜,使得很難上手使用。
ADF中關(guān)鍵的數(shù)據(jù)綁定概念如下:

Data Control:
Data Control是對業(yè)務(wù)接口的抽象,也就是說所有訪問業(yè)務(wù)對象的方法現(xiàn)在都通過Data Control來進行,這樣使得綁定層使用一種方式來訪問數(shù)據(jù),不論后臺的數(shù)據(jù)對象是種實現(xiàn)。可以把Data Control看做是一種代理機制。

Iterator Bindings and Control Bindings:
Binding 是一種輕量級的對象,它的主要目的就是讓后臺數(shù)據(jù)和前臺顯示解藕,這是老生常談的問題,讓我們看看ADF是怎么做的。Iterator Binding 和提供集合對象數(shù)據(jù)的Data Control合作。 Control Bindings 則提供了一個標(biāo)準(zhǔn)的接口讓用戶界面可處理集合對象或者調(diào)用業(yè)務(wù)方法。

Binding Containers:
Binding Container 對象記錄了某一個用戶界面使用了哪些iterator binding、control binding。 有一個XML文件記錄了這些內(nèi)容,在運行時就會根據(jù)這個XML來生產(chǎn)一個Binding Container。

Binding Context:
Binding Context 則是比Binding Container更大的一個概念,它包含了所有的Binding Container以及Data Control的信息。
下面介紹一個簡單的應(yīng)用藍圖:

這 個應(yīng)用是這樣的, 現(xiàn)在有一個論壇,在這個論壇上有一個頁面用來Review 一些Threads并指定一個team回復(fù)它,這個頁面叫做ReviewThreads.jsp 。 這個頁面需要從后臺的ForumService來獲得數(shù)據(jù)并指定回復(fù)的Team. ForumService是一個ADF的Application Module組件(Application module組件是對業(yè)務(wù)邏輯的一種抽象,它可以實現(xiàn)為java class,EJB,webservice等等,它也有自己的方法來調(diào)用View Object,這里大家只需要認為它是一種業(yè)務(wù)組件就行了)。另外,這個頁面還需要一個所有可選Team的下拉框,這個下來框的數(shù)據(jù)來自一個web service LookupCodes。
對應(yīng)每一個業(yè)務(wù)組件會有一個Data Control包裝了該組件的業(yè)務(wù)方法。在該應(yīng)用的Binding Context中包含了兩個Binding Container, ReviewThreads和UnansweredPostings。前者提供給ReviewThreads.jsp使用,后者則同事支持uix頁面 (uix是一種基于XML的界面語言),以及Jclient的一個Swing Panel。
ReviewThreads綁定容器包含了以下Binding:
1. 三個指向該應(yīng)用使用的數(shù)據(jù)集合的iterator binding。兩個由ForumService提供,一個由LookupCodes提供,如圖所示
2. 三個支持了界面上元素的Control Binding
首先是一個Attribute control binding 用來在頁面上Name輸入框中顯示Forum名字
其次是一個list binding來支持下拉框
最后是一個range binding用來支持JSTL的<c:forEach> 顯示Team對象。
3. 一個control binding用來調(diào)用ForumService的一個方法,用來指定Team答復(fù)Thread.

需 要注意的是,control value bindings 是需要通過iterator binding來獲得他們的數(shù)據(jù)。特別是list value binding它同時需要使用兩個iterator binding,一個用來取得所有的list中的值,另一個用來提供list中選擇的值。

下圖介紹了上述的組件在運行時是怎么樣配合 的。一個Binding Context包含了一個或者多個Data Control和Binding Container。每一個Binding Container會有一個或者多個iterator binding 指定了一個頁面使用的數(shù)據(jù)集合。每一個iterator binding從一個特定的Data control獲取及更改數(shù)據(jù)。Binding Container也會有一個或多個control binding 來支持頁面控制。當(dāng)Control binding需要和數(shù)據(jù)綁定時,就要一個iterator binding相關(guān)聯(lián)。如果是一個control action binding,比如說和頁面上的submit健關(guān)聯(lián)的binding則會要和一個data control 關(guān)聯(lián)用來調(diào)用service 層的方法。


本文轉(zhuǎn)自:http://dev.csdn.net/article/84200.shtm

Oracle ADF框架介紹


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 亚洲热视频 | 国产免费福利网站 | 天天干天天操天天碰 | 成人午夜毛片 | 韩国福利影院 | 亚洲成a人片在线观看中文 在线a人片免费观看国产 | 色婷婷色 | 亚洲色婷婷久久精品AV蜜桃久久 | 日本一区视频在线播放 | 五月伊人网 | 久久国产精品久久精品国产 | 综合精品一区 | 激情亚洲 | 欧美精品一区二区三区在线播放 | 水中色av综合 | 国产精品一码二码三码在线 | 日韩欧美国产视频 | 国产综合精品久久亚洲 | 成人在线精品 | 99视频精品 | 欧美国产二区 | 国产乱色精品成人免费视频 | 魏千翔 | 在线观看亚洲一区 | 国产一起色一起爱 | 色屁屁影院www免费 特片网久久 | 国产亚洲欧美在线 | 日韩在线电影 | 日韩福利视频导航 | 久久免费视频一区 | 在线一区二区三区做爰视频网站 | 日本黄色大片免费 | 激情五月色综合国产精品 | 国产精品中文在线 | 欧美一级aⅴ毛片 | 91精品国产综合久久久久 | 久久久亚洲一区 | 亚洲日韩欧美视频 | 欧美日韩精品一区二区三区四区 | 亚洲精品免费在线视频 | 最新亚洲国产 |