Oracle ADF Developer's Guide
Contents
Part I Getting Started with Oracle ADF Applications
1
Introduction to Oracle ADF Applications
Overview of Oracle Application Development Framework
Framework Architecture and Supported Technologies
View Layer Technologies Supported
Controller Layer Technologies Supported
Business Services Technologies Supported by ADF Model
Recommended Technologies for J2EE Enterprise Developers
Declarative Development with Oracle ADF and JavaServer Faces
Declarative J2EE Technologies You May Have Already Used
JSF Offers Dependency Injection, Page Handling, EL and More
Oracle ADF Further Raises the Level of Declarative Development for JSF
Key ADF Binding Features for JSF Development
Comprehensive JDeveloper Design-Time Support
More Sophisticated UI Functionality Without Coding
Centralize Common Functionality in Layered Model Metadata
Simplified Control Over Page Lifecycle
Development Process with Oracle ADF and JavaServer Faces
Overview of the Steps for Building an Application
Starting by Creating a New Application
Building the Business Service in the Model Project
Creating a Data Control for Your Service to Enable Data Binding
Dragging and Dropping Data to Create a New JSF Page
Examining the Binding Metadata Files Involved
Understanding How Components Reference Bindings via EL
Configuring Binding Properties If Needed
Understanding How Bindings Are Created at Runtime
Making the Display More Data-Driven
Hiding and Showing Groups of Components Based on Binding Properties
Toggling Between Alternative Sets of Components Based on Binding Properties
2
Oracle ADF Service Request Demo Overview
Introduction to the Oracle ADF Service Request Demo
Requirements for Oracle ADF Service Request Application
Overview of the Schema
Setting Up the Oracle ADF Service Request Demo
Downloading and Installing the Oracle ADF Service Request Application
Installing the Oracle ADF Service Request Schema
Creating the Oracle JDeveloper Database Connection
Running the Oracle ADF Service Request Demo in JDeveloper
Running the Oracle ADF Service Request Demo Unit Tests in JDeveloper
Quick Tour of the Oracle ADF Service Request Demo
Customer Logs In and Reviews Existing Service Requests
Customer Creates a Service Request
Manager Logs In and Assigns a Service Request
Manager Views Reports and Updates Technician Skills
Technician Logs In and Updates a Service Request
3
Building and Using Application Services
Introduction to Business Services
Implementing Services with EJB Session Beans
How to Create a Session Bean
Remote and Local Interfaces
Generating Session Facade Methods
What Happens When You Create a Session Bean
What You May Need to Know When Creating a Session Bean
How to Update an Existing Session Bean With New Entities
Creating Classes to Map to Database Tables
How to Create Classes
What Happens when you Create a Class
What You May Need to Know
Associating Descriptors with Different Database Tables
Using Amendment Methods
Modifying the Generated Code
Mapping Classes to Tables
Types of Mappings
Direct Mappings
How to Create Direct Mappings
What Happens when you Create a Direct Mapping
What You May Need to Know
Mapping Related Classes with Relationships
How to Create Relationship Mappings
What Happens when you Create a Relationship
What You May Need to Know
Finding Objects by Primary Key
Querying Objects
How to Create a Query
What You May Need to Know
Using a Query By Example
Sorting Query Results
Creating and Modifying Objects with a Unit of Work
How to Create a Unit of Work
Creating Objects with Unit of Work
Typical Unit of Work Usage
What Happens when you Modify a Unit of Work
Deleting Objects
What You May Need to Know
Unit of Work and Change Policy
Nested and Parallel Units of Work
Interacting with Stored Procedures
Specifying an Input Parameter
Specifying an Output Parameter
Specifying an Input / Output Parameter
Using an Output Parameter Event
Using a StoredFunctionCall
Query Sequencing
Exposing Services with ADF Data Controls
How to Create ADF Data Controls
Understanding the Data Control Files
About the DataControls.dcx File
About the Structure Definition Files
About the Entity XML Files
About the Design-time XML Files
Understanding the Data Control Palette
Overview of the Data Control Business Objects
Refreshing ADF Data Controls After Modifying Business Services
Part II Building the Web Interface
4
Getting Started with ADF Faces
Introduction to ADF Faces
Setting Up a Workspace and Project
What Happens When You Use an Application Template to Create a Workspace
Starter web.xml File
Starter faces-config.xml File
What You May Need to Know About the ViewController Project
What You May Need to Know About Multiple JSF Configuration Files
Creating a Web Page
How to Add a JSF Page
What Happens When You Create a JSF Page
What You May Need to Know About Using the JSF Navigation Diagram
What You May Need to Know About ADF Faces Dependencies and Libraries
Laying Out a Web Page
How to Add UI Components to a JSF Page
What Happens When You First Insert an ADF Faces Component
More About the web.xml File
More About the faces-config.xml File
Starter adf-faces-config.xml File
What You May Need to Know About Creating JSF Pages
Editing in the Structure Window
Displaying Errors
Using the PanelPage Component
PanelPage Facets
Page Body Contents
Creating and Using a Backing Bean for a Web Page
How to Create and Configure a Backing Bean
What Happens When You Create and Configure a Backing Bean
How to Use a Backing Bean in a JSF Page
How to Use the Automatic Component Binding Feature
What Happens When You Use Automatic Component Binding in JDeveloper
What You May Need to Know About Backing Beans and Managed Beans
Using ADF Data Controls and Backing Beans
Best Practices for ADF Faces
5
Displaying Data on a Page
Introduction to Displaying Data on a Page
Using the Data Control Palette
How to Understand the Items on the Data Control Palette
How to Use the Data Control Palette
What Happens When You Use the Data Control Palette
What Happens at Runtime
Working with the DataBindings.cpx File
How to Create a DataBindings.cpx File
What Happens When You Create a DataBindings.cpx File
Configuring the ADF Binding Filter
How to Configure the ADF Binding Filter
What Happens When You Configure an ADF Binding Filter
What Happens at Runtime
Working with Page Definition Files
How to Create a Page Definition File
What Happens When You Create a Page Definition File
Binding Objects Defined in the parameters Element
Binding Objects Defined in the executables Element
Binding Objects Defined in the bindings Element
What Happens at Runtime
What You May Need to Know About Binding Container Scope
Creating ADF Data Binding EL Expressions
How to Create an ADF Data Binding EL Expression
How to Use the Expression Builder
What Happens When You Create ADF Data Binding Expressions
EL Expressions That Reference Attribute Binding Objects
EL Expressions That Reference Table Binding Objects
EL Expressions That Reference Action Binding Objects
What You May Need to Know About ADF Binding Properties
What You May Need to Know About Binding to Values in Other Pages
6
Creating a Basic Page
Introduction to Creating a Basic Page
Using Attributes to Create Text Fields
How to Use the Data Control Palette to Create a Text Field
What Happens When You Use the Data Control Palette to Create a Text Field
Creating and Using Iterator Bindings
Creating and Using Value Bindings
Using EL Expressions to Bind UI Components
What Happens at Runtime: The JSF and ADF Lifecycles
Creating a Basic Form
How to Use the Data Control Palette to Create a Form
What Happens When You Use the Data Control Palette to Create a Form
Using Facets
Incorporating Range Navigation into Forms
How to Insert Navigation Controls into a Form
What Happens When Command Buttons Are Created Using the Data Control Palette
Using Action Bindings for Built-in Navigation Operations
Iterator RangeSize Attribute
Using EL Expressions to Bind to Navigation Operations
What Happens at Runtime: About Action Events and Action Listeners
What You May Need to Know About the Browser Back Button
Modifying the UI Components and Bindings on a Form
How to Modify the UI Components and Bindings
Changing the Value Binding for a UI Component
Changing the Action Binding for a UI Component
What Happens When You Modify Attributes and Bindings
7
Adding Tables
Introduction to Adding Tables
Creating a Basic Table
How to Create a Basic Table
What Happens When You Use the Data Control Palette to Create a Table
Iterator and Value Bindings for Tables
Code on the JSF Page for an ADF Faces Table
Incorporating Range Navigation into Tables
How to Use Navigation Controls in a Table
What Happens When You Use Navigation Controls in a Table
What Happens at Runtime
What You May Need to Know About the Browser Back Button
Modifying the Attributes Displayed in the Table
How to Modify the Displayed Attributes
How to Change the Binding for a Table
What Happens When You Modify Bindings or Displayed Attributes
Adding Hidden Capabilities to a Table
How to Use the DetailStamp Facet
What Happens When You Use the DetailStamp Facet
What Happens at Runtime
Enabling Row Selection in a Table
How to Use the TableSelectOne Component in the Selection Facet
What Happens When You Use the TableSelectOne Component
What Happens at Runtime
How to Use the TableSelectMany Component in the Selection Facet
What Happens When You Use the TableSelectMany Component
What Happens at Runtime
Setting the Current Object Using a Command Component
How to Manually Set the Current Row
What Happens When You Set the Current Row
What Happens At Runtime
8
Displaying Master-Detail Data
Introduction to Displaying Master-Detail Data
Identifying Master-Detail Objects on the Data Control Palette
Using Tables and Forms to Display Master-Detail Objects
How to Display Master-Detail Objects in Tables and Forms
What Happens When You Create Master-Detail Tables and Forms
Code Generated in the JSF Page
Binding Objects Defined in the Page Definition File
What Happens at Runtime
What You May Need to Know About Master-Detail on Separate Pages
Using Trees to Display Master-Detail Objects
How to Display Master-Detail Objects in Trees
What Happens When You Create ADF Databound Trees
Code Generated in the JSF Page
Binding Objects Defined in the Page Definition File
What Happens at Runtime
Using Tree Tables to Display Master-Detail Objects
How to Display Master-Detail Objects in Tree Tables
What Happens When You Create a Databound Tree Table
Code Generated in the JSF Page
Binding Objects Defined in the Page Definition File
What Happens at Runtime
Using an Inline Table to Display Detail Data in a Master Table
How to Display Detail Data Using an Inline Table
What Happens When You Create an Inline Detail Table
Code Generated in the JSF Page
Binding Objects Defined in the Page Definition File
What Happens at Runtime
9
Adding Page Navigation
Introduction to Page Navigation
Creating Navigation Rules
How to Create Page Navigation Rules
About Navigation Rule Elements
Using the Navigation Modeler to Define Navigation Rules
Using the JSF Configuration Editor
What Happens When You Create a Navigation Rule
What Happens at Runtime
What You May Need to Know About Navigation Rules and Cases
Defining Rules in Multiple Configuration Files
Overlapping Rules
Conflicting Navigation Rules
Splitting Navigation Cases Over Multiple Rules
What You May Need to Know About the Navigation Modeler
Using Static Navigation
How to Create Static Navigation
What Happens When You Create Static Navigation
Using Dynamic Navigation
How to Create Dynamic Navigation
What Happens When You Create Dynamic Navigation
What Happens at Runtime
What You May Need to Know About Using Default Cases
What You May Need to Know About Action Listener Methods
What You May Need to Know About Data Control Method Outcome Returns
10
Creating More Complex Pages
Introduction to More Complex Pages
Using a Managed Bean to Store Information
How to Use a Managed Bean to Store Information
What Happens When You Create a Managed Bean
Creating Command Components to Execute Methods
How to Create a Command Component Bound to a Service Method
What Happens When You Create Command Components Using a Method
Using Parameters in a Method
Using EL Expressions to Bind to Methods
What Happens at Runtime
Setting Parameter Values Using a Command Component
How to Set Parameters Using Command Components
What Happens When You Set Parameters
What Happens at Runtime
Overriding Declarative Methods
How to Override a Declarative Method
What Happens When You Override a Declarative Method
Creating a Form or Table Using a Method that Takes Parameters
How to Create a Form or Table Using a Method That Takes Parameters
What Happens When You Create a Form Using a Method that Takes Parameters
What Happens at Runtime
Creating an Input Form for a New Record
How to Use Constructors to Create an Input Form
What Happens When You Use a Constructor
How to Use a Custom Method to Create an Input Form
What Happens When You Use Methods to Create a Parameter Form
Using Variables and Parameters
What Happens at Runtime
Creating Search Pages
How to Create a Search Form
What Happens When You Use Parameter Methods
What Happens at Runtime
Conditionally Displaying the Results Table on a Search Page
How to Add Conditional Display Capabilities
What Happens When you Conditionally Display the Results Table
11
Using Complex UI Components
Introduction to Complex UI Components
Using Dynamic Menus for Navigation
How to Create Dynamic Navigation Menus
Creating a Menu Model
Creating the JSF Page for Each Menu Item
Creating the JSF Navigation Rules
What Happens at Runtime
What You May Need to Know About Menus
Using Popup Dialogs
How to Create Popup Dialogs
Defining a JSF Navigation Rule for Launching a Dialog
Creating the JSF Page That Launches a Dialog
Creating the Dialog Page and Returning a Dialog Value
Handling the Return Value
Passing a Value into a Dialog
How the SRDemo Popup Dialogs Are Created
What You May Need to Know About ADF Faces Dialogs
Other Information
Enabling Partial Page Rendering
How to Enable PPR
What Happens at Runtime
What You May Need to Know About PPR and Screen Readers
Creating a Multipage Process
How to Create a Process Train
Creating a Process Train Model
Creating the JSF Page for Each Train Node
Creating the JSF Navigation Rules
What Happens at Runtime
What You May Need to Know About Process Trains and Menus
Providing File Upload Capability
How to Support File Uploading on a Page
What Happens at Runtime
What You May Need to Know About ADF Faces File Upload
Configuring File Uploading Initialization Parameters
Configuring a Custom Uploaded File Processor
Creating Databound Dropdown Lists
How to Create a Dropdown List with a Fixed List of Values
What Happens When You Create a Dropdown List Bound to a Fixed List
How to Create a Dropdown List with a Dynamic List of Values
What Happens When You Create a Dropdown List Bound to a Dynamic List
How to Use Variables with Dropdown Lists
Creating a Databound Shuttle
How to Create a Databound Shuttle
What Happens at Runtime
12
Using Validation and Conversion
Introduction to Validation and Conversion
Validation, Conversion, and the Application Lifecycle
Adding Validation
How to Add Validation
Adding ADF Faces Validation
Adding ADF Model Validation
What Happens When You Create Input Fields Using the Data Control Palette
What Happens at Runtime
What You May Need to Know
Creating Custom JSF Validation
How to Create a Backing Bean Validation Method
What Happens When You Create a Backing Bean Validation Method
How to Create a Custom JSF Validator
What Happens When You Use a Custom JSF Validator
Adding Conversion
How to Use Converters
What Happens When You Create Input Fields Using the Data Control Palette
What Happens at Runtime
Creating Custom JSF Converters
How to Create a Custom JSF Converter
What Happens When You Use a Custom Converter
Displaying Error Messages
How to Display Server-Side Error Messages on a Page
What Happens When You Choose to Display Error Messages
Handling and Displaying Exceptions in an ADF Application
How to Change Exception Handling
What Happens When You Change the Default Error Handling
13
Adding ADF Bindings to Existing Pages
Introduction to Adding ADF Bindings to Existing Pages
Designing Pages for ADF Bindings
Creating the Page
Adding Components to the Page
Other Design Considerations
Creating Text Fields in Forms
Creating Tables
Creating Buttons and Links
Creating Lists
Creating Trees or Tree Tables
Using the Data Control Palette to Bind Existing Components
How to Add ADF Bindings Using the Data Control Palette
What Happens When You Use the Data Control Palette to Add ADF Bindings
Adding ADF Bindings to Text Fields
How to Add ADF Bindings to Text Fields
What Happens When You Add ADF Bindings to a Text Field
Adding ADF Bindings to Tables
How to Add ADF Bindings to Tables
What Happens When You Add ADF Bindings to a Table
Adding ADF Bindings to Actions
How to Add ADF Bindings to Actions
What Happens When You Add ADF Bindings to an Action
Adding ADF Bindings to Selection Lists
How to Add ADF Bindings to Selection Lists
What Happens When You Add ADF Bindings to a Selection List
Adding ADF Bindings to Trees and Tree Tables
How to Add ADF Bindings to Trees and Tree Tables
What Happens When You Add ADF Bindings to a Tree or Tree Table
14
Changing the Appearance of Your Application
Introduction to Changing ADF Faces Components
Changing the Style Properties of a Component
How to Set a Component's Style Attributes
What Happens When You Format Text
Using Skins to Change the Look and Feel
How to Use Skins
Creating a Custom Skin
Configuring an Application to Use a Skin
Internationalizing Your Application
How to Internationalize an Application
How to Configure Optional Localization Properties for ADF Faces
15
Optimizing Application Performance with Caching
About Caching
Using ADF Faces Cache to Cache Content
How to Add Support for ADF Faces Cache
What Happens When You Cache Fragments
Logging
AFC Statistics Servlet
Visual Diagnostics
What You May Need to Know
16
Testing and Debugging Web Applications
Getting Started with Oracle ADF Model Debugging
Correcting Simple Oracle ADF Compilation Errors
Correcting Simple Oracle ADF Runtime Errors
Understanding a Typical Oracle ADF Model Debugging Session
Turning on Diagnostic Logging
Creating an Oracle ADF Debugging Configuration
Understanding the Different Kinds of Breakpoints
Editing Breakpoints to Improve Control
Filtering Your View of Class Members
Communicating Stack Trace Information to Someone Else
Debugging the Oracle ADF Model Layer
Correcting Failures to Display Pages
Fixing Binding Context Creation Errors
Fixing Binding Container Creation Errors
Correcting Failures to Display Data
Fixing Executable Errors
Fixing Render Value Errors Before Submit
Correcting Failures to Invoke Actions and Methods
Correcting Page Validation Failures
Tracing EL Expressions
Part III Implementing Projects With Oracle ADF
17
Working Productively in Teams
Using CVS with an ADF Project
Choice of Internal or External CVS Client
Preference Settings
File Dependencies
Use Consistent Connection Definition Names
General Advice for Committing ADF Work to CVS
Other Version Control Tips and Techniques
Check Out or Update from the CVS Repository
Special Consideration when Manually Adding Navigation Rules to the faces-config.xml File
General Advice for Using CVS with JDeveloper
Team-Level Activities
Developer-Level Activities
Typical Workflow When Checking Your Work Into CVS
Handling CVS Repository Configuration Files
18
Adding Security to an Application
Introduction to Security in Oracle ADF Web Applications
Specifying the JAZN Resource Provider
How To Specify the Resource Provider
What You May Need to Know About Oracle ADF Security and Resource Providers
Configuring Authentication Within the web.xml File
How to Enable J2EE Container-Managed Authentication
What Happens When You Use Security Constraints without Oracle ADF Security
How to Enable Oracle ADF Authentication
What Happens When You Use Security Constraints with Oracle ADF
Creating a Login Page
Wiring the Login and Error Pages
What Happens When You Wire the Login and Error Pages
Creating a Logout Page
Wiring the Logout Action
What Happens When You Wire the Logout Action
Implementing Authorization Using Oracle ADF Security
Configuring the Application to Use Oracle ADF Security Authorization
How to Configure Oracle ADF Security Authorization
What Happens When You Configure An Application to Use Oracle ADF Security
What You May Need to Know About the Authorization Property
Setting Authorization on ADF Binding Containers
Setting Authorization on ADF Iterator Bindings
Setting Authorization on ADF Attribute and MethodAction Bindings
What Happens When Oracle ADF Security Handles Authorization
Implementing Authorization Programmatically
Making User Information EL Accessible
Creating a Class to Manage Roles
Creating a Managed Bean for the Security Information
Integrating the Managed Bean with Oracle ADF Model
Creating a TopLink Named Query To Return a User Object
Create a Session Facade Method to Wrap the Named Query
Create a Page Definition to Make the Method an EL Accessible Object
Executing the Session Facade Method from the UserInfo Bean
19
Advanced TopLink Topics
Introduction to Advanced TopLink Topics
Using Advanced Parameters (databindings.cpx)
Performing Deletes First
Specifying the TopLink Session File
Specifying the Sequencing
Configuring Method Access for Relationship
Using sessions.xml with a TopLink Data Control
Using Multiple Maps with a TopLink Data Control
Compiling TopLink Classes with Specific JDK Versions
20
Creating Data Control Adapters
Introduction to the Simple CSV Data Control Adapter
Overview of Steps to Create a Data Control Adapter
Implement the Abstract Adapter Class
Location of JAR Files
Abstract Adapter Class Outline
Complete Source for the SampleDCAdapter Class
Implementing the initialize Method
Implementing the invokeUI Method
Implementing the getDefinition Method
Implement the Data Control Definition Class
Location of JAR Files
Data Control Definition Class Outline
Complete Source for the SampleDCDef Class
Creating a Default Constructor
Collecting Metadata from the User
Defining the Structure of the Data Control
Creating an Instance of the Data Control
Setting the Metadata for Runtime
Setting the Name for the Data Control
Implement the Data Control Class
Location of JAR Files
Data Control Class Outline
Complete Source for the SampleDataControl Class
Implementing the invokeOperation Method
About Calling processResult
Return Value for invokeOperation
Implementing the getName Method
Implementing the release Method
Implementing the getDataProvider Method
Create any Necessary Supporting Classes
Create an XML File to Define Your Adapter
Build Your Adapter
Package and Deploy Your Adapter to JDeveloper
Location of Javadoc Information
Contents of Supporting Files
sampleDC.xsd
CSVHandler Class
CSVParser
21
Working with Web Services
What are Web Services
SOAP
WSDL
UDDI
Web Services Interoperability
Creating Web Service Data Controls
How to Create a Web Service Data Control
Securing Web Service Data Controls
WS-Security Specification
Creating and Using Keystores
How to Create a Keystore
How to Request a Certificate
How to Export a Public Key Certificate
Defining Web Service Data Control Security
How to Set Authentication
How to Set Digital Signatures
How to Set Encryption and Decryption
How to Use a Key Store
22
Deploying ADF Applications
Introduction to Deploying ADF Applications
Deployment Steps
Deployment Techniques
Deploying Applications Using Ant
Deploying the SRDemo Application
Deploying to Oracle Application Server
Oracle Application Server Versions Supported
Oracle Application Server Release 2 (10.1.2) Deployment Notes
Oracle Application Server Deployment Methods
Oracle Application Server Deployment to Test Environments ("Automatic Deployment")
Oracle Application Server Deployment to Clustered Topologies
Deploying to JBoss
JBoss Versions Supported
JBoss Deployment Notes
JBoss Deployment Methods
Deploying to WebLogic
WebLogic Versions Supported
WebLogic Versions 8.1 and 9.0 Deployment Notes
WebLogic 8.1 Deployment Notes
WebLogic 9.0 Deployment Notes
WebLogic Deployment Methods
Deploying to WebSphere
WebSphere Versions Supported
WebSphere Deployment Notes
WebSphere Deployment Methods
Deploying to Tomcat
Tomcat Versions Supported
Tomcat Deployment Notes
Deploying to Application Servers That Support JDK 1.4
Switching Embedded OC4J to JDK 1.4
Installing ADF Runtime Library on Third-Party Application Servers
Installing the ADF Runtime Libraries from JDeveloper
Configuring WebSphere 6.0.1 to Run ADF Applications
Source for install_adflibs_1013.sh Script
Source for install_adflibs_1013.cmd Script
Installing the ADF Runtime Libraries Manually
Installing the ADF Runtime Libraries from a Zip File
Deleting the ADF Runtime Library
Verifying Deployment and Troubleshooting
How to Test Run Your Application
"Class Not Found" or "Method Not Found" Errors
Application Is Not Using data-sources.xml File on Target Application Server
Using jazn-data.xml with the Embedded OC4J Server
Part IV Appendices
A
Reference ADF XML Files
About the ADF Metadata Files
ADF File Overview Diagram
Oracle ADF Data Control Files
Oracle ADF Data Binding Files
Oracle ADF Faces and Web Configuration Files
ADF File Syntax Diagram
DataControls.dcx
Syntax of the DataControls.dcx File
Sample of the DataControls.dcx File
Sample of the adfm.xml File
Structure Definition Files
Syntax for the Structure Definition for a JavaBean
Sample Structure Definition for the <sessionbeanname>.xml File
Sample Structure Definition for the <entitybeanname>.xml File
Collection and SingleValue Sample Files
DataBindings.cpx
DataBindings.cpx Syntax
DataBindings.cpx Sample
<pageName>PageDef.xml
PageDef.xml Syntax
PageDef.xml Sample for a Method That Returns a String
PageDef.xml Sample for a Method that Returns a Collection
web.xml
Tasks Supported by the web.xml File
Configuring for State Saving
Configuring for Application View Caching
Configuring for Debugging
Configuring for File Uploading
Configuring for ADF Model Binding
Other Context Configuration Parameters for JSF
What You May Need to Know
j2ee-logging.xml
Tasks Supported by the j2ee-logging.xml
Change the Logging Level for Oracle ADF Packages
Redirect the Log Output
Change the Location of the Log File
faces-config.xml
Tasks Supported by the faces-config.xml
Registering a Render Kit for ADF Faces Components
Registering a Phase Listener for ADF Binding
Registering a Message Resource Bundle
Configuring for Supported Locales
Creating Navigation Rules and Cases
Registering Custom Validators and Converters
Registering Managed Beans
adf-faces-config.xml
Tasks Supported by adf-faces-config.xml
Configuring Accessibility Levels
Configuring Currency Code and Separators for Number Groups and Decimals
Configuring For Enhanced Debugging Output
Configuring for Client-Side Validation and Conversion
Configuring the Language Reading Direction
Configuring the Skin Family
Configuring the Output Mode
Configuring the Number of Active ProcessScope Instances
Configuring the Time Zone and Year Offset
Configuring a Custom Uploaded File Processor
Configuring the Help Site URL
Retrieving Configuration Property Values From adf-faces-config.xml
adf-faces-skins.xml
Tasks Supported by adf-faces-skins.xml
B
Reference ADF Binding Properties
EL Properties of Oracle ADF Bindings
Index