亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

Oracle ADF框架介紹

系統 1846 0

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

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

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

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

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

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

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

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

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


本文轉自:http://dev.csdn.net/article/84200.shtm

Oracle ADF框架介紹


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

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

【本文對您有幫助就好】

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

發表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 伊人情人综合 | 日日摸日日碰夜夜爽久久 | 亚洲国产美女精品久久久久 | 天天综合网久久 | 在线观看免费情网站大全 | 欧美一级视频 | 国产精品第二页在线播放 | 狠狠色丁香久久婷婷综合_中 | 久久99精品九九九久久婷婷 | 国内精品视频成人一区二区 | 牛牛影院成人网 | 四虎综合 | 欧美综合国产精品日韩一 | 久久99精品国产麻豆宅宅 | 亚洲一级毛片在线播放 | 看真人一级毛多毛片 | 九九爱www高清免费人成 | 成人一级片 | 天天拍天天干天天操 | 久久天天躁狠狠躁狠狠躁 | 波多野结衣中文一区二区免费 | 亚洲免费人成在线视频观看 | 久草这里只有精品 | 日本嫩小xxxxhd | 免费一级欧美大片久久网 | 天天干天天色天天 | 国产精品国产自线拍手机观看 | 国产一区在线免费观看 | 欧美aaaaa一级毛片在线 | 精品一区中文字幕 | 精品哟啊呦v视频在线观看 精品哟哟国产在线观看 | 欧美日韩国产亚洲一区二区三区 | 日韩欧美一卡二区 | 波多野结衣 一区二区 | 国产精品中文 | 日本xxxx色视频在线观看免 | 亚洲综合色就色手机在线观看 | 久久综合色视频 | 欧美成人一区二区三区在线视频 | 国产一起色一起爱 | 99热黄色|