自我感觉:oracle PPR就像是AJAX,页面局部处理的技术.
PPR : oracle的一种局部页面刷新技术,在此之前只有java的js脚本可以实现此功能,现在ppr技术,并不是支持所有的浏览器,他现在仅仅支持的浏览器版本为IE 5.5 以上, Mozilla 和Netscape 7
基本原理:
1 PPR是提供给一个局部需要刷新的页面,所有不要使用PPR技术在一个大部分区域需要刷新的页面上,还有就是不要使用PPR技术在一个内容需要花费长时间去查询的区域上。
2 不同于整个页面的重载,PPR并不关注顶层的页面,只是对页面中的小部分分割区域进行刷新。
3 PPR技术中,提交按钮可以通过选择列表或者是radio group组件被忽略掉。
4 在导航到一个不同title的页面的时候,不要使用PPR,这时应该使用GO按钮。
5 浏览器的历史记录里面不会跟踪相关页面的PPR区域中的信息。
6 在不支持PPR技术的浏览器中,PPR区域在被下载到本地之后会自动失效。
7 在执行一个PPR的更新的时候,会有一段滞留时间:在这段时间内,页面会有一个沙漏出现,并且用户不能在对页面进行任何操作知道区域的内容被完全装载。如果更新失败的话,envent block将会被清空,然后页面并不发生任何更改(即数据没有被更新),用户可以进行操作。开发人员可以定义各个PPR的刷新时间。这样,每个区域就可以根据需要设定不同的刷新时间。event block很重要,由于PPR可以改变页面的状态,因此页面上的一些个并发的点击或者是关键的入口处的状态应该被保留下来。
8 当PPR更新失败的时候,一个javascript的一个错误信息应该被抛出,例如更新失败,服务器没有相应,超时,或者网络堵塞等。这个时候BLAF的一些消息不应该用在这中条件下,如果应用程序这麽做的结果可能导致用户的数据丢失。所以用javascript是最安全的方法。
并不是所有的OAF控件都可以在PPR中发生变化的,具体如下
在页面中不会发生改变的页面元素
很多的页面元素通常关联到了页面上,而不关心
遵照一些开发准则,页面标题上的元素(除了Message Box)会保持不变,不会发生任何位置上的变化 ,与之不同的是在Ski下的一些元素会保持内容,但是在页面上的位置会发生变化,会上下移动来适应页面的内容,下面的一些元素永远不会发生变化在PPR中:
Branding
Global buttons
Tabs, Horizontal Navigation, SubTabs
Locator elements: Breadcrumbs, Train, Next/Back Locator
Quick links
Page titles (first level header)
Ski
Page footer
Separator lines between the Tabs and Page Title
大多数情况下下面的一些元素也不会发生变化,但是会上下移动,来适应页面的其他元素的变化. 不过,有一些特殊的情况下会导致他们也发生变化:
Side Navigation, unless it contains a Hide/Show control.
Subtabs
Contextual information
Page-level action/navigation buttons
Page-level Instruction text
Page-level Page stamps
Page-level Key Notation
可以在PPR中进行更改的页面元素
大多数页面上的其他的一些区域中的内容都会被独立的添加,更改或者是删除。包括:
Section and table titles (subheaders)
Section-level elements associated with a section title:
Hide/Show link
Instruction text
Key notation
Page stamps
Label/data layout, including Action/Nav buttons, choice lists, and links.
Tables and table elements
HGrids
Trees
Graphs
Content containers
Tips and Hints
Icons
要启用PPR功能在当前页面,你必须创建一个OAF标准的应用属性VO(PVO)该PVO包含了一个临时属性用来保存或者说是记录需要变化的区域的Rendered属性的状态,这个VO最终会包含一个单行,允许用户在和页面进行交互时进行初始化和更新,后面将会详细描述怎样将变化区域和该VO进行绑定,以检测时候该区域是否需要显示,你需要配置另外一个开关,通过改变该开关的值,来确定是否要触发PPR事件。
PVO应该同其更级别的am创建在一个包中,注意对于一个AM你只能创建一个POV,命名规则如下:相关的am的名称+PVO
这里要注意的是,创建之后的PVO在tuning属性中必须勾选启用钝化功能,还有For All Transient Attributes选项。
分享到:
相关推荐
Oracle网上费用报销系统是企业资源计划(ERP)中的一部分,主要负责处理员工的日常费用报销流程。在这个系统中,报销单通常使用Oracle E-Business Suite(EBS)进行创建和管理。EBS提供了丰富的功能,包括自定义和...
- **3.3.2 PPR的使用**:介绍PPR (Personalized Page Rendering) 的概念及其在OAF中的应用。 - **3.3.3 OAF和Form相互调用**:学习如何实现OAF应用与传统Oracle Forms之间的互相调用。 - **3.3.4 OAF个性化**:讲解...
Oracle 1Z0-554考试是Oracle认证考试中的一门,主要面向使用Oracle Application Development Framework(ADF)的开发人员。ADF是一种用于构建企业应用的Java EE模型-视图-控制器(MVC)框架。 在提供的文件片段中,...
教程分为八课,覆盖了从简单的Hello World示例,到复杂的POPLIST、LOV、PPR功能实现,每一课均包含了目标、功能描述、讲解和参考样例,旨在逐步引导学习者从基础知识到实践操作的全过程。 通过上述知识点的梳理,...
**PPR (Partial Page Rendering)** ADF Mobile 也支持 Partial Page Rendering,这是一种优化性能的技术,只更新页面中发生改变的部分。创建新页面并添加按钮到页面,然后配置按钮触发特定区域的更新,可以实现局部...
4. 将报表存为 .ppx 文件,不要存成一次性的 .ppr 文件,.ppx 文件当.mdc 文件更新时,可以表中数据自动更新。 发布报表 最后,需要将报表发布到 PowerPlay Enterprise – Server 上,以便其他用户可以访问和使用...