概述
本文主要介紹如何在ADF應用中實現不同Region之間的event的傳遞。
下面以RegionA和RegionB為例,詳細說明如何?在Region之間傳遞event。
需求:在RegionA中點擊導覽列中的任意一按鈕時,在RegionB中觸發相同事件。
實現
1、建立ADF應用,並根據需要建立基於Employees和Departments兩個表的BC(EO/VO/AM)。
2、在ViewController項目中建立兩個Bounded-Task-Flow with
Fragments,這裡名字分別為RegionA-task-flow和RegionB-task-flow。
3、從“Component
Pallete”中分別拖“View”到剛建立成功的兩個Task-Flow中,名字分別為RegionA和RegionB,雙擊根據嚮導產生兩個.jsff的fragments,產生後的名字應分別為RegionA.jsff和RegionB.jsff。
4、開啟RegionA.jsff,從“Data
Controls”中拖動EmployeesView1到該fragment,根據提示產生form,並帶有導覽按鈕。
5、同樣的,開啟RegionB.jsff,從“Data
Controls”中拖動DepartmentsView1到該fragment,根據提示產生帶有導覽按鈕的form。
6、建立.jspx頁面,這裡命名為main.jspx,使用“Panel
Splitter”Layout進行布局,將頁面分割成為左右兩部分。分別將RegionA-task-flow和RegionB-task-flow拖到兩部分中,產生後的頁面:
7、雙擊開啟RegionA.jsff的PageDef檔案,為其導覽按鈕添加event,查看“Structure”面板,以First按鈕為例:在First按鈕上點擊右鍵,在“Insert
inside First”中選擇events,繼續在events中點擊右鍵,在“insert inside
events”中選擇event,命名為FirstEvent,為其他按鈕添加同樣的操作。進而對RegionB.jsff的PageDef中的導覽按鈕也添加同樣的操作,完成後儲存。
8、開啟main.jspx頁面,在“Structure”面板中的PageDef上點擊右鍵,選擇“Edit Event
Map”,設定event的mapping關係,將所有的event都進行設定。
9、儲存以上設定,運行main.jspx頁面。
最終運行結果:
本文轉自Oracle Seeker:http://oracleseeker.com/2009/09/08/adf_pas_event_regions/