Partial page rendering (PPR) functionality in ADF UIX provides the ability the re-render (refresh) a limited portion of a page without redrawing the entire page and without writing any custom JavaScript code.
UIX uses hidden inline frames (iframes) to implement its PPR functionality. Iframes act as the communication channel between the browser and the web application, thus UIX can send partial page events and re-render partial page contents in the background without discarding the contents of the current page.
PPR is currently supported on the following browsers:
On all other platforms, UIX automatically uses full page rendering.
Not all UIX components support PPR. The PPR enabled components in this release are:
When the user interacts with a PPR enabled component on an intial page, UIX provided JavaScript event handlers force a navigation in a hidden ifram. The browser sends a partial page event request to the application for the updated contents. This event is similar to any full page event request, which is a goto event and a value event parameter. The partial page event also sends other event parameters that identify the type of rendering mode and the set of partial target nodes to re-draw.
When the application receives the partial page event request, it determines the set of partial targets to render and generates the contents for refresh, but only the contents generated by the partial targets are sent back to the iframe in the browser.
When the browser receives the partial page response, the new contents for each partial target are copied from the hidden iframe into the main browser window, thus replacing the existing contents for each partial target.
The following conditions must be met for PPR to work properly:
<body>
element must be present on the page. UIX
automatically adds this element to a UIX XML page. For UIX JSP
developers, you must explicitly use <uix:body>
.
document.write()
or document.writeln()
. By default the generatesContent
attribute of the <script>
element is set to false, i.e., the script does not generate content. Make
sure you set the generatesContent
attribute to true for
any scripts that call document.write()
or
document.writeln()
. For example:
...
<script generatesContent="true">
document.write("Hello there");
</script>
...
Note: By default PPR is enabled regardless of the
acessibility mode. To turn PPR off, add the following configuration
parameter in the uix-config.xml
file:
...
<default-configuration>
<disable-partial-rendering>true</disable-partial-rendering>
</default-configuration>
...
Use the following attributes on a PPR enabled component:
partialRenderMode
- Specifies whether PPR is enabled.
Available values are none
, self
,
multiple
. By default PPR is disabled. Set this attribute to
self
to specify that the component itself should be updated using PPR.
Set the value to multiple
to specify that multiple
partial targets should be updated or re-rendered, then specify the
list of partial targets in the partialTargets
attribute.
partialTargets
- Specifies the set of partial targets for
re-rendering. By default the ID of the component that fires the
partial page event is automatically included in this list.
Screen readers do not re-read the full page in a partial page request. PPR causes the screen reader to read the page starting from the component that fired the partial action. Hence, you should place the partial targets after the component that fires the partial request; otherwise the screen reader would not read the updated partial targets.
Copyright © 1997, 2004, Oracle. All rights reserved.