自我感觉: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 9i Client (Oracle 9i 客户端) 简化版 (不安装Oracle客户端,也可以使用PLSQL Developer 不用安装Oracle客户端也可以使用PLSQL Developer 绿色! 安全! 轻便! 可靠! 1、本软件可作为简单的Oracle9i客户端...
首先,Oracle.ManagedDataAccess是Oracle公司提供的一个纯.NET框架的客户端驱动,它允许开发者在不安装Oracle客户端的情况下,直接与Oracle数据库进行交互。这个库包含了所有必要的组件,使得C#程序可以方便地执行...
Oracle JDBC驱动包是Oracle数据库与Java应用程序之间进行通信的关键组件,它使得Java程序员能够通过编写Java代码来操作Oracle数据库。标题中的"ojdbc6"指的是Oracle JDBC驱动的一个特定版本,适用于Java SE 6环境。...
cx_Oracle是Python数据库API规范的实现,用于访问Oracle数据库。目前,该模块经过对Oracle客户端版本11.2、12.1和12.2以及Python版本2.7、3.4、3.5和3.6的测试。cx_Oracle遵循开源的BSD许可证,这表示用户可以自由地...
《Oracle 12c数据库基础教程》教学课件—03Oracle数据库管理工具.pdf《Oracle 12c数据库基础教程》教学课件—03Oracle数据库管理工具.pdf《Oracle 12c数据库基础教程》教学课件—03Oracle数据库管理工具.pdf《Oracle...
Oracle Client是Oracle公司提供的数据库连接工具,用于与Oracle数据库服务器进行通信。19C是Oracle Database的一个版本,代表第19个主要版本。这个压缩包包含的Oracle Client适用于Windows和Linux操作系统,使得...
Dbmover for Mysql to Oracle 是高效的将Mysql导入到Oracle数据库的工具。 使用DBMover可以灵活定义Mysql和Oracle之间表和字段的对照关系,也可以在DBMover创建一个查询,把查询结果当作源表转入到Oracle中。 ...
oci.dll是Oracle Call Interface的缩写,它是Oracle数据库的一个核心组件,允许开发者使用各种编程语言与Oracle数据库进行交互。在Oracle 10G和11G版本中,oci.dll扮演了至关重要的角色,为应用程序提供了访问数据库...
Veeam 备份恢复 Oracle 数据库详细配置文档 本文档旨在详细介绍如何使用 Veeam 备份恢复 Oracle 数据库的配置过程。该文档将指导读者从环境准备到推送 Oracle RMAN Plugin,再到创建备份作业和运行备份作业,最后...
cx_Oracle是Python编程语言中用于连接Oracle数据库的一个模块。该模块遵循Python数据库API规范,并且适用于Oracle 11.2和12.1版本,同时兼容Python 2.x和3.x版本。cx_Oracle模块通过使用Oracle客户端库来实现与...
标题中的“System.Data.OracleClient 需要 Oracle 客户端软件 8.1.7 或更高版本”是一个常见的错误提示,它涉及到在.NET环境中使用Oracle数据库时遇到的问题。这个错误表明,当你试图在应用程序中使用System.Data....
python-oracledb的源码和使用示例代码, python-oracledb 1.0,适用于Python versions 3.6 through 3.10. Oracle Database; This directory contains samples for python-oracledb. 1. The schemas and SQL ...
首先,连接Oracle数据库通常需要Oracle客户端软件,但这里提到的“Sqldbx连接oracle,不用安装client”,意味着SqlDbx可能通过一种无需完整Oracle客户端的方式来实现连接。这种连接方式通常依赖于Oracle的Instant ...
Oracle客户端免安装版,也被称为Oracle Instant Client,是Oracle公司提供的一种轻量级的数据库连接工具,无需完整的Oracle数据库服务器安装即可使用。它主要用于在不安装完整客户端的情况下,实现应用程序与Oracle...
ORACLE_HOME=$ORACLE_BASE/oracle ORACLE_SID=hsj PATH=$ORACLE_HOEM/bin:$PATH; LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH export ORACLE_BASE ORACLE_HOME ORACLE_SID PATH LD_LIBRARY_PATH 3...
Oracle 19c是Oracle数据库的一个重要版本,尤其在Windows平台上,它提供了全面的功能和优化,使得数据库管理和开发更为高效。以下将详细讲解Oracle 19c Windows客户端的关键知识点: 1. **Oracle Client**: Oracle...
Oracle Instant Client 11.2.0.1.0是轻量级Oracle客户端,用于连接访问Oracle 9i、10g、11g 11.2.0.1.0版本的Oracle数据库。 Oracle Instant Client11.2.0.1.0 安装程序包含OCI/ OCCI、JDBC-OCI SDK(软件开发工具...
使用了,ODP.NET 方式链接数据库,只要把Oracle.ManagedDataAccess.dll引入取代以前的Oracle.DataAccess.dll即可。 这种方式也是oracle公司提供的,稳定性要比之前那种更好,而且也是免安装客户端的,目前还没测试...
oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具oracle SQL查询工具...
Navicat是一款强大的数据库管理工具,它支持多种数据库系统,包括Oracle。在使用Navicat连接Oracle数据库时,为了确保连接的顺利进行,通常需要安装特定的插件或客户端库。"navicat连接oracle插件"实际上指的是...