OAF_OAF Framework页面分析(概念)
20150506 Created By BaoXinjian
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAATCAIAAAAf7rriAAABHklEQVQ4jc3Tv0sCcRjH8Wc4/wL9H4T0P3CpXYQcHQpuFIQayjvXQrnulhosHDpQsBZB8Q9wuWu1QVBcbMtNyaAm3y0e/fC4Lmvo4bO++D6fB74CLJdPm0X+MRaRn2HuowziDFNMVBFhajDvsHB4GYXBMQZxRikeVBHh0WDeDo+jKzz5gJ8dXjfAU4NZm4UbEse+4uC1qVYplSgU2Ntf4aHXeXrGLBjX65TLaEXyeTIZdrYjCskEIpLdRdMwTWybOxc/3GpxfsHpCUfH5HKk0xGF5JaHi1gm9jWuP3Ycbm+o1bAsDg9Q1U9YC8b9Pt0uzSZXl/LdrOHxmF6PTodGg0oFXY8oJLzOuveyf+f1vB8si17EDFj7zz5GyPwKvwECQrZ4yvBSdAAAAABJRU5ErkJggg==" alt="" />1. 页面基础
在浏览器层,OAF页面和其它页面一样,是标准的HTML页面。
在中间层,OAF页面实际是由内存中的JAVABEAN结构来实现的,和传统的JAVA客户端界面相同。
每个页面中的用户界面(UI)组件(按钮、标签、图片等)实际都对应一个或多个结构中的JAVABEAN。
当浏览器请求一个新页面时,OAF读取页面中的声明的元数据来建立WEB BEAN的结构。
对每一个带有UI控制器的BEAN,OAF调用你写的代码来初始化页面。
当页面执行完毕,OAF将WEBBEAN结构交给UIX框架来处理,它能将之转为HTML发送到浏览器。
当浏览器提交一个FORM(如:用户选择了搜索区的GO按钮),如有必要,OAF重新建立WEBBEAN结构(BEAN结构在请求之间是缓存了的,只有在意外的情况下需要重新建立),然后调用你在PAGEBEAN中写的处理事件的代码。当页面处理结束,HTML页面重新建立并发送到浏览器。
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAATCAIAAAAf7rriAAABHklEQVQ4jc3Tv0sCcRjH8Wc4/wL9H4T0P3CpXYQcHQpuFIQayjvXQrnulhosHDpQsBZB8Q9wuWu1QVBcbMtNyaAm3y0e/fC4Lmvo4bO++D6fB74CLJdPm0X+MRaRn2HuowziDFNMVBFhajDvsHB4GYXBMQZxRikeVBHh0WDeDo+jKzz5gJ8dXjfAU4NZm4UbEse+4uC1qVYplSgU2Ntf4aHXeXrGLBjX65TLaEXyeTIZdrYjCskEIpLdRdMwTWybOxc/3GpxfsHpCUfH5HKk0xGF5JaHi1gm9jWuP3Ycbm+o1bAsDg9Q1U9YC8b9Pt0uzSZXl/LdrOHxmF6PTodGg0oFXY8oJLzOuveyf+f1vB8si17EDFj7zz5GyPwKvwECQrZ4yvBSdAAAAABJRU5ErkJggg==" alt="" />二、模型
1. 模型封装了指定的应用中的数据和商业逻辑。它也提供了真实的商业对象和商务服务的抽象。
注意:要完全正确和一致,本图需包括以下的实现
oracle.apps.fnd.framework.server.OADBTransactionImpl而不是oracle.apps.fnd.framework.OADBTransaction接口。
2. Application Modules
一个BC4J应用模型是管理和提供BC4J模型对象的基础容器,在这个上下文中,同一任务的对象是由多方关联的。例如:所有的BC4J对象都包含一个相同任务的事务。甚至用户界面包括多个页面。
所有的APPLICATION MODULE都是oracle.apps.fnd.framework.server.OAApplicationModuleImpl的子类。
每一个OAF页面都有一个关联到顶层REGION(pageLayout region)的ROOT application module。这个root application module提供了事务处理的上下文,封闭了数据库的连接。
(1). 如果多个页面在一个事务中,它们应该共享一个root application module。
(2). 如果一个页面和其它页面没关系,它应该有自己的application module。
注意:一个root application module可能嵌套多个application module(也可以再嵌套多层)。
在这种情况下,root application module可以访问它所嵌套的所有的数据、对象和所有的ROOT包含的参与同一个事务的子对象。你可以在你想创建重用的与数据库交互的UI region时使用这个特点。
3. Entity Objects(和Association Objects)实体和关联实体
BC4J实体封装了关联到数据表行的商务规则(验证、动作等)。如:OAFSample Library包括了FWK_TBX_SUPPLIERS表,用来存储供应商的定义。
我们可以为这个表定义一个实体对象(SupplierEO),用来实现的所有的商业规则,新建、更新、删除一个供应商。
注意:Entity Object也可以基于视图、同义词和快照。
OAF支持JAVA和PLSQL实体。
你建立的大多数实体都应该是oracle.apps.fnd.framework.server.OAEntityImpl的子类。
在数据库和实体之间是一对一的关系,所有的ORACLE Applicaiotn 实体都应该包括它们关联的表的所有列。
实体使用声明来在它们的属性和指定的数据列之间映射,来自动实现查询、插入、更新和删除。大多数情况下,你需要添加验证逻辑。
实体可以被任何需要与表交互的程序使用(不仅是OAF),这样一来,就必须考虑到所有的验证规则以便客户端就不用再关注这些了。
4. Association Objects(关联实体)
如果你有一个复杂的实体(如三层采购定单,在头、行、发运地之前是一对多的关系),你可以使用association object来定义实体间的关系,
你可以定义弱连接(一个定单引用了已经存在的供应商)和强连接(一个定单包括它的行,行不能独立于头存在)。
5. View Objects(and view Links)视图对象和视图连接
在简单的情况下,一个BC4J视图对象封装了一个数据库查询。查询执行后,一个视图对象循环访问结果集。结果集包含一个或多个视图行,一个视图行的不同属性对应数据库查询的行。
所有的视图对象都是oracle.apps.fnd.framework.server.OAViewObjectImpl的子类。
每个视图对象都可以配置用以下的方法来查询数据:
(1). 属性对应SQL语句的列(通常用于较小、只读的视图对象)
(2). 属性对应实体对象的属性(用于插入、更新、删除实体对象)
(3). 一些属性对应到实体,一些属性直接对应SQL(用来增强实体对象的不能从实体对象查询的临时数据,如显示的计算值)。
在OAF中,在下面的情况下会用到视图对象。
(1). 为详细的用户界面展示最优化的数据。如果用户界面支持实体对象的插入、更新、删除,你应该使用视图对象来完成这些任务。
(2). 为建立下拉列表建立查询,值列表和其它的界面组件。
(3). 为商业逻辑建立有效的“验证查询”。如:在采购定单头实体对象中,你可能要使用一个验证视图对象来取得这个采购定单的最大行号,以便于它可以被缓存而在新行插入时可以增加。
最后,你可能不只需要定义视图对象,还可能要为它们编写代码。典型情况下,代码应该实现复杂的查询的数据绑定并执行查询(所以视图对象知道如何查询它自己)。
6. View Link(视图连接)
就像连接实体对象一样,你也可以创建视图对象的关联,这叫做视图连接。如:你在采购定单头视图对象和行视图对象之间建立了一个视图连接,这可以用来在访问头的时候自动查询行。
7. OADBTransaction
如上图所示:OADBTransaction在你的模型中的一个中心角色,它封装了JDBC的数据库连接会话和root application module的关联。
并且直接容纳了你建立的所有实体对象(视图对象由root application module容纳,并在视图行中引用了实体对象)。你将在你的模型中正常使用OADBTransaction,基于以下原因:
(1). 建立callable statement来执行PLSQL函数的过程。
(2). 访问session级别的应用上下文,如用户名、id、当前职责等。
(3). 如果需要执行NLS操作,如转换服务器时间格式为用户时间格式,访问oracle.apps.fnd.framework.OANLSServices对象
root application module可以访问OADBTransaction。
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAATCAIAAAAf7rriAAABHklEQVQ4jc3Tv0sCcRjH8Wc4/wL9H4T0P3CpXYQcHQpuFIQayjvXQrnulhosHDpQsBZB8Q9wuWu1QVBcbMtNyaAm3y0e/fC4Lmvo4bO++D6fB74CLJdPm0X+MRaRn2HuowziDFNMVBFhajDvsHB4GYXBMQZxRikeVBHh0WDeDo+jKzz5gJ8dXjfAU4NZm4UbEse+4uC1qVYplSgU2Ntf4aHXeXrGLBjX65TLaEXyeTIZdrYjCskEIpLdRdMwTWybOxc/3GpxfsHpCUfH5HKk0xGF5JaHi1gm9jWuP3Ycbm+o1bAsDg9Q1U9YC8b9Pt0uzSZXl/LdrOHxmF6PTodGg0oFXY8oJLzOuveyf+f1vB8si17EDFj7zz5GyPwKvwECQrZ4yvBSdAAAAABJRU5ErkJggg==" alt="" />3. 视图
视图用来为用户格式化和显示模型数据。
1. 定义页面
在设计时,你可以使用声明的方式来建立BEAN的结构。在oracle开发过程中,你将对XML文件进行定义。当你部署到客户站点时,OAF从数据库中运行页面定义。
为了简单说明,Jdeveoper定义的页面由REGION和ITEM组成。
(1). ITEM是一个简单的组件,如按钮、输入框、图下等不包括子元素的组件。
(2). REGION是包括ITEM的容器。如:header、表格或特定的布局组件。
(3). 你定义的每个REGION和ITEM都有一个STYLE属性,用来指明OAF在运行时使用哪个WEB EBAN对象来为它实例化(这会指明产生什么要瓣HTML代码),
如:如果你定义了一个STYLE为table的REGION,OAF会用oracle.apps.fnd.framework.webui.beans.table.OATablebean来实例化。
(4). 所有的页面必须包含一个顶层的REGION(叫做root region),它的STYLE是pageLayout,它是oracle.apps.fnd.framework.webui.beans.layout.OAPageLayoutBean的实例。
(5). 在Jdeveoper的页面树中的REGION和ITEM的顺序指明了在运行时添加BEAN结构的位置。
下图显示了一个简单页面的WEB BEAN显示效果,你看到的页面的标签指明了WEB BEAN的名字。
如:一个下拉列表是oracle.apps.fnd.framework.webui.beans.message.OAMessageChoiceBean的实例,一个提交按钮是oracle.apps.fnd.framework.webui.beans.form.OASubmitButtonbean的实例。
注意:下面图中的ITEM名称没有按照ORACLE应用命名标准来做,只是让你明白WEB BEAN的结构。
2. Attribute Sets 属性集
每个REGION和ITEM都可以使用属性集来继承一组属性,一个属性集是经过命名可重用的属性的集合,它可以被任何UI对象使用,包括region\item和其它属性集。
无论何时你建立一个使用属性集的UI组件,你都可以覆盖它的继承的属性(尽管这在OAF中是不推荐的)。
为了说明这一点,在应用开发中,每个表格必须为他的每一列关联到属性集,这些属性集如提示标签、显示宽度等。
(1). 在OAF的ToolBox示例中,有一个采购定单表(FWK_TBX_PO_HEADERS),HEADER_ID是NUMBER类型的主键,也作为采购定单号显示。
(2). 这个表格有一个关联的属性集:FwkTbxHeaders,是一个XML包文件,里面包括了所有的表列的属性(每一列一个属性)。其中一个属性叫做HeaderId。
(3). HeaderId属性设置Prompt为 Order Number,Display Length为15。
(4). 当我们建立一个页面包括采购定单的order number 这个ITEM时,我们也应该指定属性集为/oracle/apps/fnd/framework/toolbox/attributessets/FwkTbxheaders/Headerid
3. 组件重用
如果想组合页面中的共享对象,你可以简单的继承它们
如:在OAF的ToolBox示例中,我们建立了一个通用的REGION(叫PoSummaryRN),所以这个组件可以被多个页面包含而不用重写代码。
要添加一个region到页面,我们只要简单的建立一个新的region,将Extends属性设为:/oracle/apps/fnd/framework/toolbox/tutorial/webui/PoSummaryRN
注意:这个共享的REGION在引用它的页面中是不能修改的,所以在Jdeveloper的Structure面板中的灰色的。
4. 数据源绑定
对于有数据库交互(插入、更新、删除、查询)的BEAN,你还要指定一个数据源绑定到一个视图实例和关联的视图属性名称。这个绑定非常重要,因为OAF用它来查询数据、写回用户输入的数据。
(1). View Instance Name指的是在application module中的视图对象(所有的视图对象都存活于application module中并通过它们的名称来调用),
如:如果一个SuppliersVO视图对象由页面中的root application module通过“MySupVO”来调用,则在这里你应该指定MySupVO这个名字。
(2). View Attribute Name 指的是映射到列的视图属性。
如:如果你的SuppliersVO有一个属性“SupplierId”(映射到列SUPPLIER_ID),这里你应该指定“SupplierId”这个名称。
5. 定义菜单
你应该使用oracle application菜单和功能的表单中定义菜单。
正像OAF将定义的UI布局翻译成运行时的BEAN结构,它也包含了菜单定义的WEB BEAN。
6. 定义页面流
处理多页面事务流时,OAF提供了一个可定义的(可客户化)给复杂的、硬编码的控制逻辑。
7. 客户化页面
OAF也包括了一个可定义的客户化架构,叫做:OA Personalization Framework。这是为了支持最终用户所需的客户化和产品传输链(区域化和垂直化(没懂什么意思)等)。
注意:如你在开发指南中的见的,建立REGION和item声明比编程更可取。实际上,你应该只在不能用声明的方式来建立的时候才采用编程的方式,这样客户就能客户化你的页面了。
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAATCAIAAAAf7rriAAABHklEQVQ4jc3Tv0sCcRjH8Wc4/wL9H4T0P3CpXYQcHQpuFIQayjvXQrnulhosHDpQsBZB8Q9wuWu1QVBcbMtNyaAm3y0e/fC4Lmvo4bO++D6fB74CLJdPm0X+MRaRn2HuowziDFNMVBFhajDvsHB4GYXBMQZxRikeVBHh0WDeDo+jKzz5gJ8dXjfAU4NZm4UbEse+4uC1qVYplSgU2Ntf4aHXeXrGLBjX65TLaEXyeTIZdrYjCskEIpLdRdMwTWybOxc/3GpxfsHpCUfH5HKk0xGF5JaHi1gm9jWuP3Ycbm+o1bAsDg9Q1U9YC8b9Pt0uzSZXl/LdrOHxmF6PTodGg0oFXY8oJLzOuveyf+f1vB8si17EDFj7zz5GyPwKvwECQrZ4yvBSdAAAAABJRU5ErkJggg==" alt="" />4、控制器
1. 控制器是用来响应用户的动作和定向应用的流向的。
控制器可以关联到视图的REGION级别,(很多情况下,任何的OAF web bean实现了oracle.apps.fnd.framework.webui.beans.OAWebBeanContainer接口,可以关联到控制器)。
你建立的所有的控制器都应该为oracle.apps.fnd.framework.webui.OAControllerImpl的子类。
你可以在控制器中实现WEB BEAN的功能。
你可以编写代码用来:
(1). 在运行时操作和初始化(包括可编程的你不能以声明的方式建立的布局)
(2). 截取和处理用户事件如按下按钮
2. 处理请求
当浏览器为你的页面发布一个OA.jsp请求时:
(1). oracle.apps.fnd.framework.webui.OAPageBean(主要的OAF页面处理类)使用页面名称来决定需要哪个root application module,然后从application module池中取出。
这个application module 也从连接池中取出JDBC连接,然后这个页面的事务处理的上下文就确定了。
(2). 用户的SESSION被验证,如果无效,显示登录的页面。
(3). 如果用户是有效的,OAPageBean评估请求参数来确定当做HTTP POST或GET来处理。
3. 处理GET请求
当浏览器向服务器发送一个GET页面的请求时(或者你手工的FORWARD),OAF使用可声明的UI定义来建立web bean结构
(1). OAPageBean调用页面的顶层pageLayout的bean的processRequest()方法,整个WEB BEAN结构被递归的执行来初始化WEB BEAN(包括任何关联的模型组件):
a. 每个web bean实例化它的控制器(如果有的话)并且调用控制器上的processRequest(OAPageContext,OAWebBean),
这是一个你用来建立、修改你的页面布局,设置web bean属性和执行手工的数据初始化的方法(如当你打开页面时你可能要执行一个自动查询)。
b. 一些复杂的web bean(如:oracle.apps.fnd.framework.webui.beans.table.OATableBean和oracle.apps.fnd.framework.webui.beans.layout.OAPageLayoutBean)执行post控制器执行prepareForRendering()方法。
c. 每个web bean都调用它的子类的processRequest()方法。
(2). oracle.apps.fnd.framework.webui.OAPageBean将web bean结构交给uix并发送到浏览器。
4. 处理POST请求
当浏览器发送一个POST请求到服务器
(1). OAPageBean检查看web bean是否存在于内存中,如果没有(可能因为资源被重新构造了,用户按了后退按钮,
或者POST是由一个对话框发出的),那就重新建立web bean的结构,像上面执行GET时一样。
(2). OAPageBean在所有结构树中的bean上调用processFormDate(OAPageContext,OAWebBean),将form中的数据写入module(它调用pageLayout region上的processFormData,
所以每个web bean教递归的调用了它的子类的processFormData)。写入form数据到model自动的调用了属性级和实体级的验证。如果你抛出任何验证异常,执行会停止并显示错误信息。
(3). 如果在执行processFormData()过程中没有异常,OAPageBean调用所有的bean上的processFormRequest(OAPageContext,OAWebBean)方法,如上面所讲。
这个过程让你的控制器对用户的动作作出响应。
(4). 如果没有JSP FORWARD或者重定向,或者在processFormRequest()方法中没有异常,则页面被刷新。
5. OAPageContext
当OAF接收到一个OA.jsp请求,OAPageBean建立一个oracle.apps.fnd.framework.webui.OAPageContext,这个类只在页面处理过程中才存在。
上面所说的三个关键方法(processRequest(),processFormData()和processFormRequest())都有一个OAPageContext参数,你编写的任何控制器总是要使用这个关键的类。
如上图所示,OAPageContext同时引用了request和root applications mudule。
实际上OAPageContext被交给你的每个控制器的执行方法,在下面的任务中你将使用OAPageContext:
6. 访问请求参数
可能最重要是,这是一个你用来通过getParameter(String)方法来读取请数据的类(请求包括URL中的参数,如果是POST,任何的名称值和事件都关联到用户的动作)。
提示:对于页面中的不同的WEB BEAN(按钮、输入框等),传到getParameter()的名称值都通过你在页面中定义的ID来分配。
如:如果用户按了一个叫“GoButton”的按钮,你可以在Jdeveloper在写以下的控制器代码:
processFormRequest(OAPageContext pageContext, OAWebBean webBean) {
if (pageContext.getParameter("GoButton") != null)
{ // The user pressed the "Go" button, do something... }
}
7. 访问root application module
OAPageContext缓存了一个对root application module的引用,它提供了访问它的视图对象和事务。
如果需要访问application mudule:
processFormRequest(OAPageContext pageContext, OAWebBean webBean) {
OAApplicationModule am = (OAApplicationModule)pageContext.getRootApplicationModule();
}
8. 导航介绍
你使用这个类的方法来告诉OAF执行一个JSP forward。如:
processFormRequest(OAPageContext pageContext, OAWebBean webBean){ if (pageContext.getParameter("CreateButton") != null) {
// The user pressed the "Create Supplier" button, now perform a JSP forward to
// the "Create Supplier" page.
pageContext.setForwardURL("OA.jsp?page=/oracle/apps/dem/employee/webui/EmpDetailsPG",
null,
OAWebBeanConstants.KEEP_MENU_CONTEXT,
null, null,
true, // Retain AMOAWebBeanConstants.ADD_BREAD_CRUMB_YES, // Show breadcrumbsOAWebBeanConstants.IGNORE_MESSAGES); } }
9. 访问应用上下文信息
如同模型中的OADBTransaction,OAPageContext提供了访问servlet session级别的oracle应用上下文信息,如用户名、id、当前职责等。如下面代码显示如何取得用户名;
processRequest(OAPageContext pageContext, OAWebBean webBean){
String userName = pageContext.getUserName();
}
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAATCAIAAAAf7rriAAABHklEQVQ4jc3Tv0sCcRjH8Wc4/wL9H4T0P3CpXYQcHQpuFIQayjvXQrnulhosHDpQsBZB8Q9wuWu1QVBcbMtNyaAm3y0e/fC4Lmvo4bO++D6fB74CLJdPm0X+MRaRn2HuowziDFNMVBFhajDvsHB4GYXBMQZxRikeVBHh0WDeDo+jKzz5gJ8dXjfAU4NZm4UbEse+4uC1qVYplSgU2Ntf4aHXeXrGLBjX65TLaEXyeTIZdrYjCskEIpLdRdMwTWybOxc/3GpxfsHpCUfH5HKk0xGF5JaHi1gm9jWuP3Ycbm+o1bAsDg9Q1U9YC8b9Pt0uzSZXl/LdrOHxmF6PTodGg0oFXY8oJLzOuveyf+f1vB8si17EDFj7zz5GyPwKvwECQrZ4yvBSdAAAAABJRU5ErkJggg==" alt="" />5、 Web bean 架构
1. 所有的WEB BEAN继承了UIX架构中的相应的bean。
如一个OATableBean继承了oracle.cabo.ui.beans.table.TableBean。
每个OAF web bean也实现了一组接口,这些接口定义了OAF加到UIX bean中的行为。
(1). Oracle.apps.fnd.framework.webui.beans.OAWebBean
定义了所有的WEB BEAN的通用的核心的行为。
如:不同于其它行为,它定义了processRequest,processFormData和processFormRequest方法,这些方法都在不同的bean中有实现。
(2). Oracle.apps.fnd.framework.webui.OAWebBeanConstants:
在视图和控制器中使用的一组常量。
(3). Oracle.apps.fnd.framework..webui.beans.OAWebBeanData:
定义了通用的客户化定义和数据源管理行为。
(4). Oracle.apps.fnd.framework.webui.beans.OAWebBeanContainer:
定义了所有的web bean的做为容器的特点。如:所有的布局web bean都实现这个接口。只有实现了这个接口的bean才可以关联到控制器。
(5). OAWebBean<Type>:
定义了在OAF上下文中的bean中固有的行为。
如:OATableBean实现了oracle.apps.fnd.framework.webui.beans.OAWebBeanTable接口。
2. 内部bean结构
每个web bean都维护它自己以下的信息:
_indexedChildren 子web bean
_namedChildren UIX指定的子web bean
_attributes web bean的特性(描述性属性),如下图所示
3. 数据绑定值
作为不是上图所示的情况,OAF web bean属性实际作为数据绑定值来实现。
意思是值由特定的在运行时处理组件的数据源提供。
4. 实现
当页面实现时,UIX架构处理web bean结构来生成html。
对任何web bean属性,当将它交给一个实现上下文(实现上下文是UIX需要处理绑定数据的所有的信息)时,UIX调它的getAttributeValue()方法。
对于一个给定的属性,如:实现上下文知道哪个视图对象、视图属性和当前行是什么。
数据绑定值使用实现上下文提供的这些信息来询问数据源,并返回实际的值,所以它能够生成相应的HTML。
aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAATCAIAAAAf7rriAAABHklEQVQ4jc3Tv0sCcRjH8Wc4/wL9H4T0P3CpXYQcHQpuFIQayjvXQrnulhosHDpQsBZB8Q9wuWu1QVBcbMtNyaAm3y0e/fC4Lmvo4bO++D6fB74CLJdPm0X+MRaRn2HuowziDFNMVBFhajDvsHB4GYXBMQZxRikeVBHh0WDeDo+jKzz5gJ8dXjfAU4NZm4UbEse+4uC1qVYplSgU2Ntf4aHXeXrGLBjX65TLaEXyeTIZdrYjCskEIpLdRdMwTWybOxc/3GpxfsHpCUfH5HKk0xGF5JaHi1gm9jWuP3Ycbm+o1bAsDg9Q1U9YC8b9Pt0uzSZXl/LdrOHxmF6PTodGg0oFXY8oJLzOuveyf+f1vB8si17EDFj7zz5GyPwKvwECQrZ4yvBSdAAAAABJRU5ErkJggg==" alt="" />6、oracle.apps.fnd.framework
1. oracle.apps.fnd.framework
包括从model和用户界面或视图代码中可以安全访问的类和接口。
如:如果你在页面中要访问一个root application module,你要使用oracle.apps.fnd.framework.OAApplicationModule接口(你永远不会访问一个客户端的实现)。
其实情况下,这个包也包括:
(1). 你可能要抛出的所有的异常
(2).你用来国际化操作的类:OANLSServices
2. oracle.apps.fnd.framwwork.server
包括了在mvc架构中实现model的类的接口
这些类是用来被客户端用户界面(不只是OAF的html页面)使用的,它不应该直接引用oracle.apps.fnd.framework.webui包和子包中的类和接口,或者任何应用指定的WEBUI包和子包。
当建立一个OAF应用模型时,你应该使用这个包中的类而不是它们的继承的类。
警告:不要在控制器和视图对象中调用这个包中的类。
3. oracle.apps.fnd.framework.webui
包括了建立和操作OAF html用户界面的核心类。
一些常用的类和接口包括:
(1). OAController
(2). OAPageContext
(3). 以下子包中的在bean中的所有类
警告:不要在model代码中调用这个包中的类。
4. oracle.apps.fnd.framework.webui.beans
包括了不能适合多样变化bean子包的用户界面组件类(如:图像、静态的文本、键弹性域、说明性弹性域)。
你应该在编写用户界面的需要编程的控制器的时候使用这些类。
这个包也包括了核心的被所有的WEB BEAN实现的OAF接口。
这个包中的类和它子包中的类对应到它们实现的uix组件,如下表。当建立OAF应用页面时,你应该总是使用OAF类除非你想使用一个包括在UIX中而OAF不支持的新特性。
注意:OAF类总是为你在Jdeveloper中声明的MDS实例化。
aaarticlea/png;base64,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" alt="" />
警告:不要在model代码中调用这个包中的类。
5. oracle.apps.fnd.framework.webui.beans.form
包括了html form的组件的web bean类,包括提交按钮和输入组件(多选框、单选框、文本框等)。
你应该在编写一个用户界面控制器的时候使用这些类。
注意:对于很多这个包中的web bean,有一些变量在oracle.apps.fnd.framework,webui.message包中(这些message web bean可以显示错误、信息、警告的图标和说明信息,而这个包中web bean不能)。
当你在Jdeveloper中建立页面时,OAF自动的为这两个包中的组件实例化message bean。你应该只在下面的情况中使用这个包中的类:
(1). 一个类没有message bean(如:OASubmitButtonBean只在这个包中存在)
(2). 你不需要使用message bean
警告:不要在model代码中调用这个包中的类。
6. oracle.apps.fnd.framework.webui.include
包括OAF中用户界面的扩展web bean(servlet\jsp\html)。
你应该在编写用户界面控制器时使用这些类。
警告:不要在model代码中调用这个包中的类。
7. oracle.apps.fnd.framework.webui.beans.layout
包括OAF页面的布局web bean。包括特定的布局如hide/show,容器,列表,头,标准的单列或双列模板等。你应该在编写用户界面控制器时使用这些类。
警告:不要在model代码中调用这个包中的类。
8. oracle.apps.fnd.framework.webui.beans.message
包括可以显示错误、警告或信息的HTML FORM控件。如用户在一个文本框中输入了错误的值,一个错误图标会显示在它的标题下面。你应该在编写用户界面控制器时使用这些类。
注意:这个包中的很多类了包括在oracle.apps.fnd.framework.webui.beans.form包中,但没有显示图标和信息的功能。
警告:不要在model代码中调用这个包中的类。
9. oracle.apps.fnd.framework.webui.beans.nav
包括了用户界面导航的组件(连接、树、菜单、快速连接等。)你应该在编写用户界面控制器时使用这些类。
警告:不要在model代码中调用这个包中的类。
10. oracle.apps.fnd.framework.webui.beans.table
包括了表格和树表格的web bean。它可以以表格的形式显示数据。你应该在编写用户界面控制器时使用这些类。
警告:不要在model代码中调用这个包中的类。
11. oracle.apps.fnd.framework.webui.laf
包括了可以控制HTML外观(包括页面风格)和上下文行为的工具。
Thanks and Regards
转载: c1275671283 - http://shaofeng.blog.51cto.com/3392077/655665
aaarticlea/png;base64,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" alt="" />
OAF_OAF Framework页面分析(概念)的更多相关文章
- OAF_OAF Framework状态分析(概念)
20150706 Created By BaoXinjian
- amaze样例页面分析(一)
amaze样例页面分析(一) 一.总结 1.从审查(inspect)中是很清楚的可以弄清楚这些part之间的结构关系的 2.一者在于弄清楚他们之间的结构关系,二者在于知道结构的每一部分是干嘛的 3.i ...
- amazeui页面分析之登录页面
amazeui页面分析之登录页面 一.总结 1.tpl命名空间:tpl命名空间的样式都是从app.css里面来的,app.css用用来移动网站开发的样式 2.表单样式:am-form到am-form- ...
- amazeui页面分析5
amazeui页面分析5 一.总结 1.把原模板当成样例集合就好 2.都是一块一块的,删改等操作都方便 3.list方面的操作很多都是ui配合li 4.其实容器本质还是div,所以真的算简单了 5.样 ...
- amazeui页面分析4
amazeui页面分析4 一.总结 1.直接照着作者的设计思路用:例如 pet_hd_con_time pet_hd_con_map ,这是time 和 map,那我别的说不定也可以直接用,比如aut ...
- amazeui页面分析3
amazeui页面分析3 一.总结 1. 本质是list列表,是ul套li的形式,只不过li里面是图片 <li class="am-g am-list-item-desced am-l ...
- amazeui页面分析2
amazeui页面分析2 一.总结 1.弄清结构:这些部分都是一块一块分好了的,掌握结构之后,想替换哪块就替换哪块,想不要哪块就不要哪块,非常简单的 2.一块一块:替换十分简单 3.弄清楚大块之后,然 ...
- OAF_OAF Framework学习笔记的基本概念(概念)
2014-11-02 Created By BaoXinjian
- OAF_OAF Framework常用函数汇总(概念)
2014-12-31 Created By BaoXinjian
随机推荐
- 机器学习理论与实战(十一)关联规则分析Apriori
<机器学习实战>的最后的两个算法对我来说有点陌生,但学过后感觉蛮好玩,了解了一般的商品数据关联分析和搜索引擎智能提示的工作原理.先来看看关联分析(association analysis) ...
- iOS开发-数据选择UIPickerView
UIPickerView开发一般选择区域或者分级数据的时候会使用到,类似于前端中用到树状结构,不过PC上一般都是从上到下的分级,使用UIPickView是从左到右实现,可以动态的设置UIPickVie ...
- Web页面切图和CSS注意事项
一.Asp.net中的线程池设置 在Asp.net的服务处理中,每当服务器收到一个请求,HttpRuntime将从HttpApplication池中获取一个HttpApplication对象处理此请求 ...
- 基础学习:C#中float的取值范围和精度
float类型的表现形式: 默认情况下,赋值运算符右侧的实数被视为 double. 因此,应使用后缀 f 或 F 初始化浮点型变量,如以下示例中所示: float x = 3.5F; 如果在以上声明中 ...
- 【leetcode】 9. palindrome number
@requires_authorization @author johnsondu @create_time 2015.7.13 9:48 @url [palindrome-number](https ...
- Sql Server的弱口令入侵测试以及防范
我之所以要做这样的测试是因为这一切都是有背景的!!!被黑客黑的代价!!!伤心ing..... 背景: 测试: 物理机:Win7 虚拟机:xp 扫描工具(我想我最好不写扫描器的名字比较好): 密码之所以 ...
- Mali GPU OpenGL ES 应用性能优化--測试+定位+优化流程
1. 使用DS-5 Streamline定位瓶颈 DS-5 Streamline要求GPU驱动启用性能測试,在Mali GPU驱动中激活性能測试对性能影响微不足道. 1.1 DS-5 Streamli ...
- Ubuntu 或 UbuntuKyLin14.04 Unity桌面側边栏和顶层菜单条显示异常解决方法
近期一直想要回到Linux以下去开发,正好Ubuntu14.04桌面版系统在近期公布,所以趁此机会下载了最新版的Ubuntu版本号.并在虚拟机VMware软件上面搭建一改Ubuntu系统,因为眼下有适 ...
- XTU1236 Fraction
Fraction Accepted : 124 Submit : 806 Time Limit : 1000 MS Memory Limit : 65536 KB Fraction Problem D ...
- C语言高速入门系列(二)
C语言高速入门系列(二) -----转载请注明出处coder-pig 本节引言: 在前面一节中我们对C语言进行了初步的了解,学会了使用IDE进行代码的编写,编译执行! 在这一节中我们会对C语言的基本的 ...