欧美三区_成人在线免费观看视频_欧美极品少妇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條評論
主站蜘蛛池模板: 狼伊千合综网中文 | 可以直接看的毛片 | 国产精品久久久久免费视频 | 精品日韩欧美一区二区三区在线播放 | 亚洲毛片在线观看 | 97美女网 | 久久观看免费视频 | 超碰在线97国产 | 青草香蕉精品视频在线观看 | 91久久线看在观草草青青 | 国产精品美女久久久久久久久久久 | 国产欧美成人 | 国产成人免费网站 | 国产精品久久久久久久y | 五月天在线影院 | 久久国产精品免费一区二区三区 | 亚洲精品久久久中文字幕 | 久久九九国产精品 | 91av在线电影| 夜夜夜操操操 | 国产精品网址在线观看你懂的 | 1级a的观看视频 | 91免费在线| 九九久久99综合一区二区 | 国产精品久久久久久久y | 日日摸夜夜摸狠狠摸日日碰夜夜做 | 国产一级大片在线观看 | 99thz桃花论坛 | 欧美1区| 人人草草 | 久久久久久99 | av网址在线播放 | 亚洲网站在线免费观看 | 黄色免费视频观看 | 免费看一级毛片 | 久久久精品欧美 | 久久男人视频 | 日韩男人天堂 | 青草青草久热精品视频在线网站 | 欧美线在线精品观看视频 | 久久精品视频网站 |