壹佰网|ERP100 - 企业信息化知识门户

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 2329|回复: 0

[OAF] OracleOAF开发指南第二章翻译(中文)-(5)

  [复制链接]
发表于 2008/4/7 13:30:48 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。如果您注册时有任何问题请联系客服QQ: 83569622  。

您需要 登录 才可以下载或查看,没有帐号?注册

x
Web Bean Architecture

首先,所有的OA Framework web bean都继承自UIX框架中的相应的bean。比如OATableBean继承自oracle.cabo.ui.beans.table.TableBean(“cabo”是UIX框架的旧名称,包定义中仍旧在使用)。
每个OA Frameworkweb bean也实现了UIX beans中由于OAF需要而新增的接口(具体可参加OAF Javadoc)。
ü         oracle.apps.fnd.framework.webui.beans.OAWebBean-定义了适用于所有web bean的核心行为(比如,在其他关键的行为中,定义了processRequestprocessFormDataproecessFormRequest,以便独立的bean来进行实现)。
ü         oracle.apps.fnd.framework.webui.beans.OAWebBeanData-定义了通用的个性化定义和数据源管理的行为。
ü         oracle.apps.fnd.framework.webui.beans.OAWebBeanContainer-定义了所有web bean可以做为其他web bean的容器的属性。所有的布局类的web bean均实现了这个接口。只有实现了该接口的bean才能拥有关联的控制器
ü         OAWebBean<Type>-定义了OA Frameworkbean固有的行为。比如OATableBean实现了oracle.apps.fnd.framework.webui.beans.OAWebBeanTable接口。
下图是TableBean为例的图示说明:


bean内部结构
每个bean均包含了一下的信息:
&Oslash;         _indexedChildren-子web beans
&Oslash;         _namedChildrenUIX标签中有特殊行为的子web beans
&Oslash;         _attributesweb bean的描述性的属性,如下图所示


数据绑定值
OA Framework web bean属性实际上的是通过数据绑定值的方式来实现的,而不是如上图所示的方式。这就意味着该值是由其相关的隐含数据源所提供,在展现时赋予显示组件。在后面你会看到如何定义并使用自定义绑定代码。
展现
在页面展现时,UIX框架处理web bean,并按层次生成页面HTML
对每个web bean的属性,UIX调用getAttributeValue()方法来传递展现上下文(rendering context)信息(展现上下文包括了UIX需要赋予绑定值的所有信息)。比如,通过展现上下文,一个事先指定的属性可以确定相应的VO实例,视属性和当前行。而数据绑定值通过展现上下文所提供的信息来查询其数据源,并返回实际值到UIX,这样就可以生成相应的HTML
导航到OA FrameworkJavadoc

你可能已经注意到,通过开发只能可以直接链接到OA FrameworkJavadoc。在你建立一个页面的时候,你将可以通过使用它而对你所需要使用的组件有一个深层次的理解。该部分主要讲述OA Framework体系中每个包的作用,以方面你在使用Javadoc使用便于寻找相应的类或接口。
oracle.apps.fnd.framework
包含了可以从模型(服务器端)和用户界面控制器或视(客户端)代码进行安全访问的类和接口。比如,你需要在你的页面中访问一个rootAM,你将会使用oracle.apps.fnd.framework.OAApplicationModule接口(你永远不会在客户端上访问该接口的实现)。

该包还包括:

&Oslash;         所有的OA Framework异常

&Oslash;         用来执行国际化操作的OANLSServices

oracle.apps.fnd.framework.server
包含了在OA FrameworkMVC模式下实现模型(model)的所有的类和接口。
该包中的类与oracle.apps.fnd.framework.webui中的类和接口或其他应用程序声明的webui包没有直接的关联关系。
当建立OA Framework的模型时,你应该使用该包中的这些类而不是继承这些类的BC4J的类。
注意:千万不要试图在controller层或view层的代码中调用该包中的类!
oracle.apps.fnd.framework.webui
该包中包含了创建和操纵OA Framework HTML用户界面的核心类。

该包中经常的使用的类有:OAControllerOAPageContext以及下面列出的子包中的类。
注意:不能在model层的代码试图调用该包中的类!
oracle.apps.fnd.framework.webui.beans
包含了不适合放置在各类beansu子包中的涉及到用户界面组件的web bean类(比如:imageswitcherstatict instruction textkey flexfielddescriptive flexfield等等)。在编写需要通过编程来操纵web bean的用户界面控制器代码时应该使用这些类。
下图是该包中与UIX组件相对应的类。在创建一个OAF页面时,应尽量使用OA Framework类,除非你所需要的特性在UIX可以实现,而OAF还未进行有效支持。
UIX Package

OA Package

oracle.cabo.ui.beans

oracle.apps.fnd.framework.webui.beans

oracle.cabo.ui.beans.form

oracle.apps.fnd.framework.webui.beans.form.

oracle.cabo.ui.beans.include

oracle.apps.fnd.framework.webui.beans.include

oracle.cabo.ui.beans.layout

oracle.apps.fnd.framework.webui.beans.layout

oracle.cabo.ui.beans.message

oracle.apps.fnd.framework.webui.beans.message

oracle.cabo.ui.beans.nav

oracle.apps.fnd.framework.webui.beans.nav

oracle.cabo.ui.beans.table

oracle.apps.fnd.framework.webui.beans.table


注意:不能在model层的代码试图调用该包中的类!
oracle.apps.fnd.framework.webui.beans.form
包含实现HTML form组件的web bean类,诸如提交按钮以及其他各种数据输入/定义控制的组件(复选框、单选按钮组、shuttle(穿梭?)、文本框等)。你可以使用这些类在需要编程操纵web bean的时候来编写用户界面控制。
包中有许多bean属于oracle.apps.fnd.framework.webui.beans.message包(消息类的web bean拥有显示报错、提示以及带有说明信息的警告图标的特性)。当你在Jdeveloper中创建你的静态页时,OA Framework自动为该包中的存在的组件实例化消息beanmessage bean)。你应该仅在下列情况下使用该包中的类:
&Oslash;         没有可以替代的消息bean(如OASubmitButtonBean仅在该包中存在)
&Oslash;         你不能使用可替代的消息bean
注意:不能在model层的代码试图调用该包中的类!
oracle.apps.fnd.framework.webui.beans.include
包含了在OA Framework页面中从外部(servletsJSP页面以及普通HTML页面)include用户界面片断的web bean类。你将在需要编程来操纵web bean的用户界面控制器代码中使用这些类。
注意:不能在model层的代码试图调用该包中的类!
附件:
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|小黑屋|手机版|壹佰网 ERP100 ( 京ICP备19053597号-2 )

Copyright © 2005-2012 北京海之大网络技术有限责任公司 服务器托管由互联互通
手机:13911575376
网站技术点击发送消息给对方83569622   广告&合作 点击发送消息给对方27675401   点击发送消息给对方634043306   咨询及人才点击发送消息给对方138011526

GMT+8, 2025/11/30 00:45 , Processed in 0.016976 second(s), 14 queries , File On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表