2009年9月19日星期六

ADF_028:使用ADF Controller 之二:菜单与页面导航

本文最后一次修改时间:2012-03-14。
开发环境:JDevloper 11.1.2.1.0+ Oracle Database 10g Express Edition 10.2.0.1。

完成《Creating ADF Menus for Page Navigation》。

实验介绍:对于树形结构的全局性的导航规则,如下图:

可以考虑创建多个UnBounded TaskFlow来分割作为页面,如下图:
(1)adfc-config.xml是默认的最高级的导航规则,是程序的总入口。
(2)adfc-products-config.xml 封装以Products为根节点的导航规则。
(3)adfc-sales-config.xml 封装以Sales为根节点的导航规则。
注意,请以adfc-xxx-config.xml的格式来命名Unbounded TaskFlow。


重要步骤说明:
1. 先后创建两个Unbounded TaskFlow
注意勾掉默认选中的"Create as Bounded TaskFlow“。


2. 为Unbounded TaskFlow创建菜单模型
(1)右键点击Unbounded TaskFlow,选择”Create or Update ADF Menu“

(2)分别为三个Unbounded TaskFlow创建三个菜单模型


3. 按照需求修改菜单模型
(1)修改菜单模型上下级关系

(2)父节点作为GroupNode,子节点作为ItemNode
以sale_menu为例:sales作为GroupNode,其它作为其子节点。
GroupNode不指向具体的页面,ItemNode才指向具体的页面。

(3)如果某个父节点同时也是别人的子节点,需要设置为SharedNode
以products_menu为例,它还有一个子节点Sales是定义在sales_menu中的,因此右键点击Products节点为其增加SharedNode,即Sales节点。

使用EL表达式引用sales_menu。


4. 创建页面模板使用菜单模型
这里大量使用了navigationPane组件,其中的commandNavigationItem使用了菜单模型。

具体页面代码,请参考Project源码。

6. 设计和运行效果





Project 下载:MenuWebApp.7z

没有评论: