Oracle® Fusion Middleware

2,671 views
2,587 views

Published on

Oracle® Fusion Middleware
Web User Interface Developer’s Guide for Oracle Application
Development Framework
11g Release 1 (11.1.1)
B31973-02

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,671
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
34
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Oracle® Fusion Middleware

  1. 1. Oracle® Fusion Middleware Web User Interface Developer’s Guide for Oracle Application Development Framework 11g Release 1 (11.1.1) B31973-02 November 2008
  2. 2. Oracle Fusion Middleware Web User Interface Developer’s Guide for Oracle Application Development Framework 11g Release 1 (11.1.1) B31973-02 Copyright © 2008 Oracle. All rights reserved. Primary Authors: Robin Whitmore (lead), Peter Jew, Kathryn Munn Contributing Authors: Rosslynne Hefferen, Poh Lee Tan, Odile Sullivan-Tarazi, and Susan Shepard Contributors: ADF Faces development team, Frank Nimphius The Programs (which include both the software and documentation) contain proprietary information; they are provided under a license agreement containing restrictions on use and disclosure and are also protected by copyright, patent, and other intellectual and industrial property laws. Reverse engineering, disassembly, or decompilation of the Programs, except to the extent required to obtain interoperability with other independently created software or as specified by law, is prohibited. The information contained in this document is subject to change without notice. If you find any problems in the documentation, please report them to us in writing. This document is not warranted to be error-free. Except as may be expressly permitted in your license agreement for these Programs, no part of these Programs may be reproduced or transmitted in any form or by any means, electronic or mechanical, for any purpose. If the Programs are delivered to the United States Government or anyone licensing or using the Programs on behalf of the United States Government, the following notice is applicable: U.S. GOVERNMENT RIGHTS Programs, software, databases, and related documentation and technical data delivered to U.S. Government customers are "commercial computer software" or "commercial technical data" pursuant to the applicable Federal Acquisition Regulation and agency-specific supplemental regulations. As such, use, duplication, disclosure, modification, and adaptation of the Programs, including documentation and technical data, shall be subject to the licensing restrictions set forth in the applicable Oracle license agreement, and, to the extent applicable, the additional rights set forth in FAR 52.227-19, Commercial Computer Software--Restricted Rights (June 1987). Oracle USA, Inc., 500 Oracle Parkway, Redwood City, CA 94065. The Programs are not intended for use in any nuclear, aviation, mass transit, medical, or other inherently dangerous applications. It shall be the licensee's responsibility to take all appropriate fail-safe, backup, redundancy and other measures to ensure the safe use of such applications if the Programs are used for such purposes, and we disclaim liability for any damages caused by such use of the Programs. Oracle, JD Edwards, PeopleSoft, and Siebel are registered trademarks of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. The Programs may provide links to Web sites and access to content, products, and services from third parties. Oracle is not responsible for the availability of, or any content provided on, third-party Web sites. You bear all risks associated with the use of such content. If you choose to purchase any products or services from a third party, the relationship is directly between you and the third party. Oracle is not responsible for: (a) the quality of third-party products or services; or (b) fulfilling any of the terms of the agreement with the third party, including delivery of products or services and warranty obligations related to purchased products or services. Oracle is not responsible for any loss or damage of any sort that you may incur from dealing with any third party.
  3. 3. Contents Preface ............................................................................................................................................................... xxi Audience..................................................................................................................................................... xxi Documentation Accessibility ................................................................................................................... xxi Related Documents .................................................................................................................................. xxii Conventions .............................................................................................................................................. xxii Part I Getting Started with ADF Faces 1 Introduction to ADF Faces Rich Client 1.1 Introduction to Oracle ADF Faces Rich Client ....................................................................... 1-1 1.1.1 History of ADF Faces .......................................................................................................... 1-2 1.1.2 ADF Faces as Rich Client Components ............................................................................ 1-2 1.2 Architecture of ADF Faces Components ................................................................................. 1-3 1.2.1 Client-Side Components..................................................................................................... 1-3 1.2.2 ADF Faces Architectural Features..................................................................................... 1-4 1.3 ADF Faces Components............................................................................................................. 1-5 1.4 ADF Faces Demonstration Application................................................................................... 1-7 1.4.1 How to Download and Install the ADF Faces Demo Application ............................ 1-12 1.4.2 Overview of the File Explorer Application................................................................... 1-13 1.4.3 Viewing the Source Code In JDeveloper ....................................................................... 1-15 2 Getting Started with ADF Faces 2.1 Developing Declaratively in JDeveloper ................................................................................. 2-1 2.2 Creating an Application Workspace ........................................................................................ 2-2 2.2.1 How to Create an Application Workspace ...................................................................... 2-2 2.2.2 What Happens When You Create an Application Workspace ..................................... 2-3 2.3 Defining Page Flows................................................................................................................... 2-5 2.3.1 How to Define a Page Flow................................................................................................ 2-6 2.3.2 What Happens When You Use the Diagrammer to Create a Page Flow .................... 2-7 2.4 Creating a JSF Page ..................................................................................................................... 2-8 2.4.1 How to Create JSF Pages .................................................................................................... 2-9 2.4.2 What Happens When You Create a JSF Page .................................................................. 2-9 2.4.3 What You May Need to Know About Automatic Component Binding .................. 2-10 2.4.4 How to Add ADF Faces Components to JSF Pages..................................................... 2-14 2.4.5 What Happens When You Add Components to a Page ............................................. 2-16 v
  4. 4. 2.4.6 How to Set Component Attributes................................................................................. 2-17 2.4.7 What Happens When You Use the Property Inspector .............................................. 2-19 2.5 Creating EL Expressions ......................................................................................................... 2-19 2.5.1 How to Create an EL Expression.................................................................................... 2-19 2.5.2 How to Use EL Expressions Within Managed Beans.................................................. 2-21 2.6 Creating and Using Managed Beans..................................................................................... 2-22 2.6.1 How to Create a Managed Bean in JDeveloper............................................................ 2-23 2.6.2 What Happens When You Use JDeveloper to Create a Managed Bean................... 2-24 2.7 Viewing ADF Faces Source Code and Javadoc ................................................................... 2-24 Part II Understanding ADF Faces Architecture 3 Using ADF Faces Architecture 3.1 Introduction to Using ADF Faces Architecture ...................................................................... 3-1 3.2 Listening for Client Events ........................................................................................................ 3-3 3.3 Adding JavaScript to a Page...................................................................................................... 3-4 3.3.1 How to Use Inline JavaScript ............................................................................................. 3-4 3.3.2 How to Import JavaScript Libraries .................................................................................. 3-5 3.3.3 What You May Need to Know About Accessing Client Event Sources ...................... 3-6 3.4 Instantiating Client-Side Components..................................................................................... 3-6 3.5 Locating a Client Component on a Page ................................................................................. 3-7 3.5.1 What You May Need to Know About Finding Components in Naming Containers ....... 3-8 3.6 Accessing Component Properties on the Client..................................................................... 3-9 3.6.1 How to Set Property Values on the Client ....................................................................... 3-9 3.6.2 What Happens at Runtime: How Client Properties Are Set on the Client............... 3-10 3.6.3 What You May Need to Know About Secured and Disconnected Properties ........ 3-10 3.7 Using Bonus Attributes for Client-Side Components ........................................................ 3-10 3.7.1 How to Create Bonus Attributes .................................................................................... 3-11 3.7.2 What You May Need to Know About Marshalling Bonus Attributes...................... 3-11 3.8 Understanding Rendering and Visibility ............................................................................. 3-11 3.8.1 How to Set Visibility Using Javascript .......................................................................... 3-13 3.8.2 What You May Need to Know About Visible and the isShowing Function............ 3-14 4 Understanding the JSF and ADF Faces Lifecycles 4.1 Introduction to the JSF and ADF Faces Lifecycles ................................................................. 4-1 4.2 The JSF Lifecycle ......................................................................................................................... 4-1 4.2.1 Using the Immediate Attribute.......................................................................................... 4-4 4.3 Using the Optimized Lifecycle.................................................................................................. 4-6 4.3.1 What You May Need to Know About Using the Immediate Attribute and the Optimized Lifecycle 4-7 4.4 Using the Client-Side Lifecycle ................................................................................................. 4-8 4.5 Using Subforms to Create Regions on a Page......................................................................... 4-9 4.6 Object Scope Lifecycles ........................................................................................................... 4-10 4.7 Passing Values Between Pages .............................................................................................. 4-11 4.7.1 How to Use the pageFlowScope Scope Without Writing Java Code ........................ 4-13 4.7.2 What Happens at Runtime: Passing Values ................................................................. 4-13 vi
  5. 5. 5 Handling Events 5.1 Introduction to Events and Event Handling........................................................................... 5-1 5.1.1 Events and Partial Page Rendering................................................................................... 5-2 5.1.2 Client-Side Event Model..................................................................................................... 5-3 5.2 Using ADF Faces Server Events................................................................................................ 5-4 5.2.1 How to Use Server-Side Events ......................................................................................... 5-5 5.3 Using JavaScript for ADF Faces Client Events ....................................................................... 5-6 5.3.1 How to Return the Original Source of the Event ............................................................ 5-9 5.3.2 Using Client-Side Attributes for an Event .................................................................... 5-10 5.3.3 How to Prevent Events from Propagating to the Server ............................................ 5-10 5.3.4 How to Trigger Event Handler Execution .................................................................... 5-11 5.3.5 What Happens at Runtime: How Client-Side Events Work ...................................... 5-12 5.3.6 What You May Need to Know About Using Naming Containers............................ 5-13 5.4 Sending Custom Events from the Client to the Server....................................................... 5-13 5.4.1 How to Send Custom Events from the Client to the Server ....................................... 5-14 5.4.2 What Happens at Runtime: How Client and Server Listeners Work Together ...... 5-16 5.4.3 What You May Need to Know About Marshalling and Unmarshalling of Data.... 5-16 5.5 Executing a Script Within an Event Response..................................................................... 5-18 5.6 Using Client Behavior Tags .................................................................................................... 5-19 6 Validating and Converting Input 6.1 Introduction to ADF Faces Converters and Validators......................................................... 6-1 6.2 Conversion, Validation, and the JSF Lifecycle........................................................................ 6-2 6.3 Adding Conversion .................................................................................................................... 6-2 6.3.1 How to Add a Converter .................................................................................................... 6-3 6.3.2 How to Set Attributes on a Converter .............................................................................. 6-4 6.3.3 What Happens at Runtime ................................................................................................. 6-4 6.4 Creating Custom JSF Converters .............................................................................................. 6-5 6.4.1 How to Create a Custom JSF Converter........................................................................... 6-5 6.4.2 What Happens When You Use a Custom Converter ..................................................... 6-8 6.5 Adding Validation ...................................................................................................................... 6-8 6.5.1 How to Add Validation ...................................................................................................... 6-8 6.5.1.1 Adding ADF Faces Validation.................................................................................... 6-8 6.5.1.2 Using Validation Attributes ........................................................................................ 6-9 6.5.1.3 Using ADF Faces Validators ....................................................................................... 6-9 6.5.2 What Happens at Runtime .............................................................................................. 6-10 6.5.3 What You May Need to Know About Multiple Validators........................................ 6-11 6.6 Creating Custom JSF Validation............................................................................................ 6-11 6.6.1 How to Create a Backing Bean Validation Method ..................................................... 6-11 6.6.2 What Happens When You Create a Backing Bean Validation Method.................... 6-12 6.6.3 How to Create a Custom JSF Validator ......................................................................... 6-12 6.6.4 What Happens When You Use a Custom JSF Validator............................................. 6-14 7 Rerendering Partial Page Content 7.1 Introduction to Partial Page Rendering................................................................................... 7-1 7.2 Enabling Partial Page Rendering Declaratively ..................................................................... 7-2 vii
  6. 6. 7.2.1 How to Enable Partial Page Rendering ............................................................................ 7-4 7.2.2 What You May Need to Know About Using the Browser Back Button ...................... 7-5 7.2.3 What You May Need to Know About PPR and Screen Readers .................................. 7-6 7.3 Enabling Partial Page Rendering Programmatically ............................................................. 7-6 7.4 Partial Page Navigation ............................................................................................................. 7-7 7.4.1 How to Enable PPR Navigation ........................................................................................ 7-7 7.4.2 What You May Need to Know About PPR Navigation................................................. 7-7 Part III Using ADF Faces Components 8 Organizing Content on Web Pages 8.1 Introduction to Organizing Content on Web Pages .............................................................. 8-1 8.2 Starting to Lay Out a Page......................................................................................................... 8-4 8.2.1 Geometry Management and Component Stretching ..................................................... 8-5 8.2.2 Nesting Components Inside Components That Allow Stretching ............................... 8-8 8.2.3 Tips for Using Geometry Managed Components........................................................ 8-11 8.3 Arranging Contents to Stretch Across a Page...................................................................... 8-11 8.3.1 How to Use the panelStretchLayout Component ........................................................ 8-13 8.3.2 What You May Need to Know About Geometry Management and the panelStretchLayout Component 8-14 8.4 Using Splitters to Create Resizable Panes ............................................................................ 8-15 8.4.1 How to Use the panelSplitter Component .................................................................... 8-17 8.4.2 What You May Need to Know About Geometry Management and the panelSplitter Component 8-20 8.5 Arranging Page Contents in Predefined Areas ................................................................... 8-21 8.5.1 How to Use the panelBorderLayout Component ........................................................ 8-22 8.6 Arranging Content in Forms .................................................................................................. 8-23 8.6.1 How to Use the panelFormLayout Component........................................................... 8-24 8.6.2 What You May Need to Know About Using the group Component with the panelFormLayout Component 8-28 8.7 Displaying and Hiding Contents Dynamically ................................................................... 8-32 8.7.1 How to Use the showDetail Component ...................................................................... 8-36 8.7.2 How to Use the showDetailHeader Component ......................................................... 8-37 8.7.3 How to Use the panelBox Component .......................................................................... 8-38 8.7.4 What You May Need to Know About Disclosure Events........................................... 8-40 8.8 Displaying or Hiding Contents in Accordion Panels and Tabbed Panels....................... 8-41 8.8.1 How to Use the PanelAccordion Component .............................................................. 8-43 8.8.2 How to Use the panelTabbed Component.................................................................... 8-44 8.8.3 How to Use the showDetailItem Component to Display Content in panelAccordion or panelTabbed Components 8-45 8.8.4 What You May Need to Know About Geometry Management and the showDetailItem Component 8-48 8.8.5 What You May Need to Know About showDetailItem Disclosure Events ............. 8-49 8.9 Displaying Items in a Content Container ............................................................................ 8-50 8.9.1 How to Use the panelHeader Component.................................................................... 8-51 8.10 Displaying a Bulleted List in One or More Columns ......................................................... 8-52 8.10.1 How to Use the panelList Component .......................................................................... 8-53 8.10.2 What You May Need to Know About Creating a List Hierarchy ............................. 8-54 viii
  7. 7. 8.11 Grouping Related Items .......................................................................................................... 8-55 8.11.1 How to Use the panelGroupLayout Component......................................................... 8-57 8.11.2 What You May Need to Know About Geometry Management and the panelGroupLayout Component 8-59 8.12 Separating Content Using Blank Space or Lines ................................................................. 8-59 8.12.1 How to Use the spacer Component ............................................................................... 8-60 8.12.2 How to Use the Separator Component.......................................................................... 8-61 9 Using Input Components and Defining Forms 9.1 Introduction to Input Components and Forms ...................................................................... 9-1 9.2 Defining Forms............................................................................................................................ 9-3 9.2.1 How to Add a Form to a Page ........................................................................................... 9-4 9.2.2 How to Add a Subform to a Page...................................................................................... 9-5 9.2.3 How to Add a Reset Button to a Form ............................................................................. 9-5 9.3 Using the inputText Component .............................................................................................. 9-5 9.3.1 How to Add an inputText Component ............................................................................ 9-6 9.4 Using the Input Number Components .................................................................................... 9-8 9.4.1 How to Add an inputNumberSlider or an inputRangeSlider Component ................ 9-8 9.4.2 How to Add an inputNumberSpinbox Component....................................................... 9-9 9.5 Using Color and Date Choosers ............................................................................................ 9-10 9.5.1 How to Add an inputColor Component ....................................................................... 9-11 9.5.2 How to Add an InputDate Component ........................................................................ 9-12 9.6 Using Selection Components ................................................................................................. 9-13 9.6.1 How to Add Selection Components .............................................................................. 9-16 9.7 Using Shuttle Components..................................................................................................... 9-18 9.7.1 How to Add a selectManyShuttle or selectOrderShuttle Component...................... 9-20 9.7.2 What You May Need to Know About Using a Client Listener for Selection Events ........ 9-21 9.8 Using the richTextEditor Component................................................................................... 9-23 9.9 Using File Upload .................................................................................................................... 9-25 9.9.1 How to Use the inputFile Component........................................................................... 9-27 9.9.2 What You May Need to Know About Temporary File Storage................................. 9-28 10 Presenting Data in Tables and Trees 10.1 Introduction to Tables, Trees, and Tree Tables ................................................................... 10-1 10.1.1 Content Delivery............................................................................................................... 10-3 10.1.2 Row Selection .................................................................................................................... 10-4 10.1.3 Editing Data in Tables, Trees, and Tree Tables ............................................................ 10-5 10.1.4 Using Popup Dialogs in Tables, Trees, and Tree Tables............................................. 10-7 10.1.5 Accessing Client Table, Tree, and Tree Table Components ....................................... 10-9 10.2 Displaying Data in Tables....................................................................................................... 10-9 10.2.1 Columns and Column Data .......................................................................................... 10-10 10.2.2 Formatting Tables ........................................................................................................... 10-11 10.2.3 Formatting Columns ...................................................................................................... 10-12 10.2.4 How to Display a Table on a Page ............................................................................... 10-13 10.2.5 What Happens When You Add a Table to a Page ..................................................... 10-19 ix
  8. 8. 10.2.6 What Happens at Runtime ............................................................................................ 10-20 10.2.7 What You May Need to Know About Programmatically Enabling Sorting for Table Columns 10-21 10.2.8 What You May Need to Know About Performing an Action on Selected Rows in Tables 10-21 10.2.9 What You May Need to Know About Dynamically Determining Values for Selected Components in Tables 10-22 10.2.10 What You May Need to Know About Using the Iterator Tag ................................. 10-23 10.3 Adding Hidden Capabilities to a Table.............................................................................. 10-23 10.3.1 How to Use the detailStamp Facet ............................................................................... 10-24 10.3.2 What Happens at Runtime ............................................................................................ 10-25 10.4 Enabling Filtering in Tables.................................................................................................. 10-25 10.4.1 How to Add Filtering to a Table................................................................................... 10-26 10.5 Displaying Data in Trees....................................................................................................... 10-27 10.5.1 How to Display Data in Trees....................................................................................... 10-29 10.5.2 What Happens When You Add a Tree to a Page....................................................... 10-31 10.5.3 What Happens at Runtime ............................................................................................ 10-32 10.5.4 What You May Need to Know About Programmatically Expanding and Collapsing Nodes 10-32 10.5.5 What You May Need to Know About Programmatically Selecting Nodes ........... 10-34 10.6 Displaying Data in Tree Tables............................................................................................ 10-34 10.6.1 How to Display Data in a Tree Table........................................................................... 10-36 10.7 Passing a Row as a Value...................................................................................................... 10-36 10.8 Displaying Table Menus, Toolbars, and Status Bars ........................................................ 10-37 10.8.1 How to Add a panelCollection with a Table, Tree, or Tree Table ........................... 10-39 10.9 Exporting Data from Table, Tree, or Tree Table................................................................ 10-39 10.9.1 How to Export Table, Tree, or Tree Table Data to an External Format .................. 10-41 10.9.2 What Happens at Runtime: How Row Selection Affects the Exported Data ........ 10-42 10.10 Accessing Selected Values on the Client From Components that Use Stamping ........ 10-42 10.10.1 How to Access Values From a Selection in Stamped Components......................... 10-43 10.10.2 What You May Need to Know About Accessing Selected Values .......................... 10-45 11 Using List-of-Values Components 11.1 Introduction to List-of-Values Components ........................................................................ 11-1 11.2 Creating the ListOfValues Data Model................................................................................. 11-5 11.3 Using the inputListOfValues Component............................................................................ 11-7 11.4 Using the InputComboboxListOfValues Component ........................................................ 11-8 12 Using Query Components 12.1 Introduction to Query Components...................................................................................... 12-1 12.2 Implementing the Model for Your Query ............................................................................ 12-3 12.3 Using the quickQuery Component ..................................................................................... 12-10 12.3.1 How to Add the quickQuery Component Using a Model ....................................... 12-11 12.3.2 How to Use a quickQuery Component Without a Model ........................................ 12-12 12.3.3 What Happens at Runtime: How the Framework Renders the quickQuery Component and Executes the Search 12-13 12.4 Using the query Component ................................................................................................ 12-13 x
  9. 9. 12.4.1 How to Add the Query Component ............................................................................ 12-15 13 Using Popup Dialogs, Menus, and Windows 13.1 Introduction to Using Popup Elements ................................................................................ 13-1 13.2 Creating Inline Popup Elements............................................................................................ 13-2 13.2.1 Showing and Hiding Popup Elements .......................................................................... 13-3 13.2.2 Delivering Content to the Client..................................................................................... 13-3 13.2.3 Using Dialog Buttons ....................................................................................................... 13-4 13.2.4 How to Create an Inline Dialog ...................................................................................... 13-4 13.2.5 How to Create an Inline Window .................................................................................. 13-5 13.2.6 How to Create an Inline Context Menu ........................................................................ 13-6 13.3 Using Command Components to Show Popup Elements................................................. 13-6 13.3.1 How to Use the af:showPopupBehavior Tag ............................................................... 13-7 13.4 External Browser Popup Window......................................................................................... 13-9 13.4.1 How to Create External Dialogs and Page Flows ...................................................... 13-11 13.4.1.1 Defining a JSF Navigation Rule for Opening a Dialog ...................................... 13-12 13.4.1.2 Creating the JSF Page That Opens a Dialog ........................................................ 13-13 13.4.1.3 Creating the Dialog Page and Returning a Dialog Value.................................. 13-14 13.4.1.4 Passing a Value into a Dialog ................................................................................ 13-17 13.4.1.5 Handling the Return Value .................................................................................... 13-18 14 Using Menus, Toolbars, and Toolboxes 14.1 Introduction to Menus, Toolbars, and Toolboxes ............................................................... 14-1 14.2 Using Menus in a Menu Bar................................................................................................... 14-2 14.2.1 How to Create and Use Menus in a Menu Bar............................................................. 14-6 14.3 Using Toolbars ....................................................................................................................... 14-10 14.3.1 How to Create and Use Toolbars ................................................................................. 14-12 14.3.2 What Happens at Runtime: Determining the Size of Toolbars................................ 14-15 14.3.3 What You May Need to Know About Toolbars......................................................... 14-15 15 Presenting Data Using Output Components 15.1 Introduction to Output Text, Image, Icon, and Media Components ............................... 15-1 15.2 Displaying Output Text and Formatted Output Text ........................................................ 15-2 15.2.1 How to Display Output Text .......................................................................................... 15-4 15.3 Displaying Icons....................................................................................................................... 15-5 15.3.1 How to Display a Standard Icon .................................................................................... 15-5 15.4 Displaying Images ................................................................................................................... 15-5 15.5 Using Images as Links............................................................................................................. 15-6 15.5.1 How to Use an Image as One or More Go Links ......................................................... 15-6 15.6 Downloading Files................................................................................................................... 15-6 15.6.1 How to Create a File Download ..................................................................................... 15-8 15.7 Playing Video and Audio Clips ............................................................................................. 15-8 15.7.1 Media Players .................................................................................................................... 15-9 15.7.2 Display Size ....................................................................................................................... 15-9 15.7.3 Controls .............................................................................................................................. 15-9 15.7.4 Automatic Start and Repeated Play ............................................................................. 15-10 xi
  10. 10. 15.7.5 How to Play Audio and Video Clips ........................................................................... 15-10 16 Displaying Tips, Messages, and Help 16.1 Introduction to Displaying Tips and Messages................................................................... 16-1 16.2 Displaying Tips for Components .......................................................................................... 16-5 16.2.1 How to Display Tips for Components........................................................................... 16-5 16.3 Displaying Hints and Error Messages for Validation and Conversion ........................... 16-5 16.3.1 How to Define Custom Validator and Converter Messages...................................... 16-7 16.3.2 What You May Need to Know About Overriding Default Messages Globally ...... 16-8 16.3.3 How to Display Component Messages Inline .............................................................. 16-8 16.3.4 How to Display Global Messages Inline ....................................................................... 16-9 16.4 Grouping Components with a Single Label and Message................................................. 16-9 16.4.1 How to Use a panelLabelAndMessage Component.................................................. 16-10 16.5 Displaying Help for Components ....................................................................................... 16-11 16.5.1 How to Create Resource Bundle-Based Help............................................................. 16-14 16.5.2 How to Create XLIFF-Based Help................................................................................ 16-16 16.5.3 How to Create Managed Bean Help ............................................................................ 16-18 16.5.4 How to Create a Java Class Help Provider ................................................................. 16-20 16.5.5 How to Access Help Content from a UI Component................................................ 16-22 16.5.6 What You May Need to Know About Combining Different Message Types ....... 16-22 17 Working with Navigation Components 17.1 Introduction to Navigation Components ............................................................................. 17-1 17.2 Using Buttons and Links for Navigation.............................................................................. 17-2 17.2.1 How to Use Command Buttons and Command Links ............................................... 17-2 17.2.2 How to Use Go Buttons and Go Links .......................................................................... 17-3 17.3 Using Navigation Items for a Page Hierarchy..................................................................... 17-4 17.4 Creating a Simple Navigational Hierarchy.......................................................................... 17-8 17.4.1 How to Create a Simple Page Hierarchy....................................................................... 17-9 17.4.2 How to Use the breadCrumbs Component ................................................................ 17-12 17.5 Using a Menu Model to Create a Page Hierarchy............................................................. 17-13 17.5.1 How to Create the Menu Model Metadata ................................................................. 17-15 17.5.2 What Happens When You Use the Create ADF Menu Model Wizard .................. 17-22 17.5.3 How to Bind to the XMLMenuModel in the JSF Page .............................................. 17-23 17.5.4 How to Use the breadCrumbs Component ................................................................ 17-27 17.5.5 What Happens at Runtime ............................................................................................ 17-28 17.5.6 What You May Need to Know About Custom Node Attributes ............................ 17-30 17.6 Using Train Components to Create Navigation Items for a Multi-Step Process.......... 17-32 17.6.1 How to Create the Train Model.................................................................................... 17-35 17.6.2 How to Configure Managed Beans for the Train Model .......................................... 17-38 17.6.3 How to Bind to the Train Model in JSF Pages ............................................................ 17-41 18 Creating and Reusing Fragments, Templates, and Components 18.1 Introduction to Reusable Content ......................................................................................... 18-1 18.2 Using Page Fragments............................................................................................................. 18-2 18.2.1 How to Create a Page Fragment..................................................................................... 18-5 xii
  11. 11. 18.2.2 What Happens When You Create a Page Fragment.................................................... 18-6 18.2.3 How to Use a Page Fragment in a JSF Page.................................................................. 18-6 18.2.4 What Happens at Runtime: Resolving Page Fragments ............................................. 18-7 18.3 Using Page Templates ............................................................................................................. 18-7 18.3.1 How to Create a Page Template ................................................................................... 18-11 18.3.2 What Happens When You Create a Page Template .................................................. 18-14 18.3.3 How to Create JSF Pages Based on Page Templates.................................................. 18-15 18.3.4 What Happens When You Use a Template to Create a Page................................... 18-16 18.3.5 What Happens at Runtime: How Page Templates Are Resolved ........................... 18-17 18.3.6 What You May Need to Know About Templates and Naming Containers .......... 18-18 18.4 Using Declarative Components ........................................................................................... 18-18 18.4.1 How to Create a Declarative Component ................................................................... 18-20 18.4.2 What Happens When You Create a Declarative Component .................................. 18-25 18.4.3 How to Deploy Declarative Components ................................................................... 18-27 18.4.4 How to Use Declarative Components in JSF Pages ................................................... 18-27 18.4.5 What Happens When You Use a Declarative Component on a JSF Page .............. 18-29 18.4.6 What Happens at Runtime ............................................................................................ 18-30 19 Customizing the Appearance Using Styles and Skins 19.1 Introduction to Skins, Style Selectors, and Style Properties .............................................. 19-1 19.1.1 Oracle ADF Faces Skins ................................................................................................... 19-2 19.1.2 Skin Style Selectors ........................................................................................................... 19-4 19.1.3 Component Style Properties ........................................................................................... 19-7 19.2 Applying Custom Skins to Applications.............................................................................. 19-7 19.2.1 How to Add a Custom Skin to an Application ............................................................ 19-8 19.2.2 How to Register a Custom Skin...................................................................................... 19-8 19.2.3 How to Configure an Application to Use a Custom Skin......................................... 19-11 19.2.4 How to Deploy a Custom Skin in a JAR file ............................................................... 19-12 19.3 Defining Skin Style Properties ............................................................................................. 19-13 19.3.1 How to Apply Skins to Text.......................................................................................... 19-15 19.3.2 How to Apply Skins to Icons ........................................................................................ 19-17 19.3.3 How to Apply Skins to Messages................................................................................. 19-17 19.3.4 How to Apply Themes to Components....................................................................... 19-18 19.3.4.1 What You May Need to Know About Theme Inheritance ................................ 19-19 19.3.5 How to Create a Custom Alias ..................................................................................... 19-20 19.3.6 How to Configure a Component for Changing Skins Dynamically ....................... 19-20 19.4 Changing the Style Properties of a Component ............................................................... 19-21 19.4.1 How to Set an Inline Style ............................................................................................. 19-21 19.4.2 How to Set a Style Class................................................................................................. 19-22 20 Internationalizing and Localizing Pages 20.1 Introduction to Internationalization and Localization of ADF Faces Pages ................... 20-1 20.2 Defining Locales and Resource Bundles .............................................................................. 20-4 20.2.1 How to Define the Base Resource Bundle..................................................................... 20-5 20.2.2 How to Edit a Resource Bundle File .............................................................................. 20-7 20.2.3 How to Register Locales and Resource Bundles in Your Application...................... 20-9 xiii
  12. 12. 20.2.4 How to Use Resource Bundles in Your Application ................................................. 20-11 20.2.5 What You May Need to Know About Custom Skins and Control Hints............... 20-11 20.3 Using Automatic Resource Bundle Integration in JDeveloper ....................................... 20-11 20.3.1 How to Set Resource Bundle Options.......................................................................... 20-13 20.4 Configuring Optional ADF Faces Localization Properties .............................................. 20-14 20.4.1 How to Configure Optional Localization Properties ................................................ 20-14 21 Developing Accessible ADF Faces Pages 21.1 Introduction to Accessible ADF Faces Pages ....................................................................... 21-1 21.2 Developing Accessible ADF Faces Components and Pages.............................................. 21-1 21.2.1 Using ADF Faces Component Accessibility Guidelines ............................................. 21-2 21.2.2 How to Run an ADF Faces Accessibility Rules Audit ................................................ 21-4 21.2.3 How to Use Partial Page Rendering .............................................................................. 21-4 21.2.4 How to Use Scripting ....................................................................................................... 21-5 21.2.5 How to Use Styles............................................................................................................. 21-6 21.2.6 How to Use Page Structures and Navigation............................................................... 21-6 21.3 Defining Access Keys for ADF Faces Components ............................................................ 21-7 21.3.1 How to Define Access Keys for an ADF Faces Component ....................................... 21-7 21.3.2 How to Define Localized Labels and Access Keys ...................................................... 21-9 21.4 Selecting Accessibility Modes .............................................................................................. 21-10 21.4.1 How to Configure Accessibility Support in trinidad-config.xml ............................ 21-10 21.5 Providing Text for Screen Reader Support ........................................................................ 21-11 21.5.1 How to Provide Screen Reader Support for Images, Icons and Other Objects ..... 21-11 21.5.2 How to Provide Screen Reader Support for Frames ................................................. 21-11 21.5.3 How to Provide Screen Reader Support for Tables ................................................... 21-12 21.5.4 How to Provide Screen Reader Support for Text....................................................... 21-13 Part IV Using ADF Data Visualization Components 22 Introduction to ADF Data Visualization Components 22.1 Introducing ADF Data Visualization Components ............................................................ 22-1 22.2 Defining the ADF Data Visualization Components ........................................................... 22-1 22.2.1 Graph .................................................................................................................................. 22-1 22.2.2 Gauge.................................................................................................................................. 22-5 22.2.3 Pivot Table ......................................................................................................................... 22-7 22.2.4 Geographic Map ............................................................................................................... 22-7 22.2.5 Gantt ................................................................................................................................... 22-8 22.3 Providing Data for ADF Data Visualization Components ................................................ 22-9 22.4 Downloading Custom Fonts for Flash Images .................................................................... 22-9 23 Using ADF Graph Components 23.1 Introduction to the ADF Graph Component ....................................................................... 23-1 23.2 Understanding the ADF Graph Tags .................................................................................... 23-2 23.2.1 Graph-Specific Tags ......................................................................................................... 23-3 23.2.2 Common Graph Child Tags ............................................................................................ 23-4 23.2.3 Graph-Specific Child Tags............................................................................................... 23-5 xiv
  13. 13. 23.2.4 Child Set Tags.................................................................................................................... 23-5 23.3 Understanding Data Requirements for Graphs .................................................................. 23-6 23.3.1 Area Graphs Data Requirements.................................................................................... 23-7 23.3.2 Bar Graph Data Requirements........................................................................................ 23-7 23.3.3 Bubble Graph Data Requirements ................................................................................. 23-8 23.3.4 Combination Graph Data Requirements....................................................................... 23-8 23.3.5 Funnel Graph Data Requirements ................................................................................. 23-9 23.3.6 Line Graph Data Requirements ...................................................................................... 23-9 23.3.7 Pareto Graph Data Requirements .................................................................................. 23-9 23.3.8 Pie Graph Data Requirements ...................................................................................... 23-10 23.3.9 Polar Graph Data Requirements .................................................................................. 23-10 23.3.10 Radar Graph Data Requirements ................................................................................. 23-10 23.3.11 Scatter Graph Data Requirements................................................................................ 23-11 23.3.12 Stock Graph Data Requirements .................................................................................. 23-11 23.3.12.1 Stock Graphs: High-Low-Close ............................................................................. 23-11 23.3.12.2 Stock Graphs: High-Low-Close with Volume..................................................... 23-12 23.3.12.3 Stock Graphs: Open-High-Low-Close.................................................................. 23-12 23.3.12.4 Stock Graphs: Open-High-Low-Close with Volume.......................................... 23-12 23.3.12.5 Candle Stock Graphs: Open-Close ....................................................................... 23-12 23.3.12.6 Candle Stock Graphs: Open-Close with Volume ............................................... 23-12 23.3.12.7 Candle Stock Graphs: Open-High-Low-Close ................................................... 23-13 23.3.12.8 Candle Stock Graphs: Open-High-Low-Close with Volume ........................... 23-13 23.4 Creating an ADF Graph ....................................................................................................... 23-13 23.4.1 How to Create a Graph Using Tabular Data ............................................................. 23-13 23.4.1.1 Storing Tabular Data for a Graph in a Managed Bean....................................... 23-14 23.4.1.2 Creating a Graph Using Tabular Data.................................................................. 23-15 23.4.2 What Happens When You Create a Graph Using Tabular Data ............................. 23-15 23.5 Customizing Common Graph Features.............................................................................. 23-16 23.5.1 Changing the Color and Style of Graph Bars, Lines, Areas, Points, and Slices..... 23-16 23.5.1.1 How to Specify the Color and Style for Individual Series Items...................... 23-16 23.5.1.2 How to Control the Number of Different Colors Used for Series Items ......... 23-17 23.5.2 Formatting Numbers in Graphs ................................................................................... 23-17 23.5.2.1 How to Format Numbers in the Y1-Axis of a Graph ......................................... 23-17 23.5.2.2 What Happens When You Format the Numbers in the Y1-Axis of a Graph.. 23-18 23.5.2.3 How to Format Numbers for the Marker Text of a Graph ............................... 23-18 23.5.2.4 What Happens When You Format Numbers in the Marker Text of a Graph 23-18 23.5.3 Formatting Text in Graphs ............................................................................................ 23-19 23.5.4 Changing Graph Size and Style ................................................................................... 23-19 23.5.4.1 How to Specify the Size of a Graph at Initial Display........................................ 23-19 23.5.4.2 How to Provide for Dynamic Resizing of a Graph ............................................ 23-19 23.5.4.3 How to Use a Specific Style Sheet for a Graph.................................................... 23-20 23.5.5 Changing Graph Background, Plot Area, and Title .................................................. 23-20 23.5.5.1 How to Customize the Background and Plot Area of a Graph ........................ 23-20 23.5.5.2 How to Specify Titles and Footnotes in a Graph ................................................ 23-21 23.5.6 Customizing Graph Axes and Labels .......................................................................... 23-22 23.5.6.1 How to Specify the Title, Appearance, and Scaling of an Axis ........................ 23-22 23.5.6.2 How to Control the Appearance of Tick Marks and Labels on an Axis.......... 23-23 xv
  14. 14. 23.5.6.3 How to Format Numbers on an Axis ................................................................... 23-24 23.5.6.4 How to Set the Starting Value of a Y-Axis ........................................................... 23-24 23.5.7 Customizing Graph Legends ........................................................................................ 23-24 23.5.8 Customizing Tooltips in Graphs .................................................................................. 23-25 23.6 Customizing the Appearance of Specific Graph Types ................................................... 23-25 23.6.1 Changing the Type of ADF Graphs ............................................................................. 23-25 23.6.2 Changing the Appearance of Pie Graphs.................................................................... 23-26 23.6.2.1 How to Customize the Overall Appearance of Pie Graphs .............................. 23-26 23.6.2.2 How to Specify an Exploding Pie Slice ................................................................ 23-26 23.6.3 Changing the Appearance of Line Graphs ................................................................. 23-27 23.6.3.1 How to Display Either Data Lines or Markers in a Line Graph ....................... 23-27 23.6.3.2 How to Change the Appearance of Lines in a Graph Series............................. 23-27 23.6.4 Customizing Pareto Graphs .......................................................................................... 23-28 23.7 Adding Specialized Features to Graphs ............................................................................. 23-28 23.7.1 Adding Reference Lines or Areas to Graphs .............................................................. 23-28 23.7.1.1 How to Create Reference Lines or Areas During Design .................................. 23-28 23.7.1.2 What Happens When You Create Reference Lines or Areas During Design. 23-29 23.7.1.3 How to Create Reference Lines or Areas Dynamically...................................... 23-30 23.7.2 Using Gradient Special Effects in Graphs ................................................................... 23-31 23.7.2.1 How to Add Gradient Special Effects to a Graph............................................... 23-31 23.7.2.2 What Happens When You Add a Gradient Special Effect to a Graph ............ 23-32 23.7.3 Specifying Transparent Colors for Parts of a Graph ................................................. 23-32 23.7.4 Providing Interactive Capability for Graphs .............................................................. 23-32 23.7.4.1 How to Provide Line and Legend Highlighting ................................................. 23-33 23.7.4.2 How to Hide or Show Sets of Related Markers .................................................. 23-33 23.7.4.3 How to React to Changes in the Zoom and Scroll Levels.................................. 23-33 23.7.5 Providing an Interactive Time Axis for Graphs ......................................................... 23-34 23.7.5.1 How to Define a Relative Range of Time Data for Display............................... 23-34 23.7.5.2 How to Define an Explicit Range of Time Data for Display ............................. 23-34 24 Using ADF Gauge Components 24.1 Introduction to the ADF Gauge Component ....................................................................... 24-1 24.1.1 Types of Gauges................................................................................................................ 24-3 24.1.2 Gauge Terminology.......................................................................................................... 24-4 24.2 Understanding Data Requirements for Gauges .................................................................. 24-5 24.3 Creating an ADF Gauge.......................................................................................................... 24-5 24.3.1 Creating a Gauge Using Tabular Data........................................................................... 24-6 24.3.1.1 Storing Tabular Data for a Gauge in a Managed Bean ........................................ 24-6 24.3.1.2 Structure of the List of Tabular Data ...................................................................... 24-6 24.3.2 How to Create a Gauge Using Tabular Data ................................................................ 24-7 24.3.3 What Happens When You Create a Gauge Using Tabular Data............................... 24-8 24.4 Customizing Common Gauge Features ............................................................................... 24-8 24.4.1 Changing the Type of the Gauge.................................................................................... 24-8 24.4.2 Determining the Layout of Gauges in a Gauge Set ..................................................... 24-8 24.4.3 Changing Gauge Size and Style...................................................................................... 24-9 24.4.3.1 How to Specify the Size of a Gauge at Initial Display ......................................... 24-9 24.4.3.2 How to Provide For Dynamic Resizing of a Gauge ............................................. 24-9 xvi
  15. 15. 24.4.3.3 How to Use a Custom Style Class for a Gauge ................................................... 24-10 24.4.4 Adding Thresholds to Gauges ...................................................................................... 24-10 24.4.4.1 How to Add Static Thresholds to Gauges ........................................................... 24-10 24.4.4.2 What You May Need to Know About Adding Thresholds to Gauges............ 24-11 24.4.5 Formatting Numbers in Gauges ................................................................................... 24-11 24.4.5.1 How to Format the Number in a Gauge Metric Label ....................................... 24-11 24.4.5.2 What Happens When You Format the Number in a Gauge Metric Label...... 24-12 24.4.6 Formatting Text in Gauges ............................................................................................ 24-12 24.4.6.1 How to Format Text in a Gauge Metric Labels ................................................... 24-12 24.4.6.2 What Happens When You Format Text in a Gauge Metric Label.................... 24-12 24.4.7 Customizing Gauge Labels ........................................................................................... 24-13 24.4.7.1 How to Control the Position of Gauge Labels..................................................... 24-13 24.4.7.2 How to Customize the Colors and Borders of Gauge Labels ........................... 24-13 24.4.8 Customizing Indicators and Tick Marks ..................................................................... 24-13 24.4.8.1 How to Control the Appearance of Gauge Indicators ....................................... 24-13 24.4.8.2 How to Specify Tick Marks and Labels ............................................................... 24-14 24.5 Customizing Specialized Gauge Features .......................................................................... 24-14 24.5.1 Using Gradient Special Effects in a Gauge.................................................................. 24-14 24.5.1.1 How to Add Gradient Special Effects to a Gauge............................................... 24-15 24.5.1.2 What Happens When You Add a Gradient Special Effect to a Gauge ............ 24-16 25 Using ADF Pivot Table Components 25.1 Introduction tothe ADF Pivot Table Component................................................................ 25-1 25.1.1 Pivot Table Elements and Terminology ........................................................................ 25-1 25.1.2 Drilling Down in a Pivot Table....................................................................................... 25-2 25.1.3 Pivot Layer Handles ......................................................................................................... 25-2 25.2 Understanding Data Requirements for a Pivot Table ........................................................ 25-3 25.3 Sizing in a Pivot Table ............................................................................................................. 25-3 25.3.1 How to Set the Overall Size of a Pivot Table ................................................................ 25-4 25.3.2 How to Resize Rows and Columns ............................................................................... 25-4 25.3.2.1 What You May Need to Know About Resizing Rows and Columns ................ 25-4 25.4 Customizing the Cell Content of a Pivot Table ................................................................... 25-5 25.4.1 How to Create a CellFormat Object for a Data Cell..................................................... 25-5 25.4.2 Constructing a CellFormat Object .................................................................................. 25-6 25.4.3 Changing Format and Text Styles .................................................................................. 25-6 25.4.4 Creating Stoplight and Conditional Formatting in a Pivot Table ............................ 25-7 26 Using ADF Geographic Map Components 26.1 Introduction toGeographic Maps .......................................................................................... 26-1 26.1.1 Available Map Themes .................................................................................................... 26-1 26.1.2 Geographic Map Terminology ....................................................................................... 26-2 26.1.3 Geographic Map Component Tags ................................................................................ 26-4 26.1.3.1 Geographic Map Parent Tags .................................................................................. 26-4 26.1.3.2 Geographic Map Child Tags .................................................................................... 26-5 26.1.3.3 Tags for Modifying Map Themes............................................................................ 26-5 26.2 Understanding Data Requirements for Geographic Maps ................................................ 26-6 xvii
  16. 16. 26.3 Customizing the Geographic Map ........................................................................................ 26-6 26.3.1 How to Adjust the Map Size ........................................................................................... 26-6 26.3.2 How to Specify Strategy for Map Zoom Control ......................................................... 26-6 26.4 Customizing Map Themes...................................................................................................... 26-7 26.4.1 How to Customize Zoom Levels for a Theme.............................................................. 26-7 26.4.2 How to Customize the Labels of a Map Theme ........................................................... 26-7 26.4.3 How to Customize Map Themes.................................................................................... 26-8 26.4.4 Customizing Point Images in a Point Theme ............................................................... 26-8 26.4.4.1 How to Customize Point Images............................................................................. 26-8 26.4.4.2 What Happens When You Customize the Point Images in a Map .................... 26-9 26.4.5 Customizing the Bars in a Bar Graph Theme ............................................................. 26-10 26.4.5.1 How to Customize the Bars in a Map Bar Graph Theme .................................. 26-10 26.4.5.2 What Happens When You Customize the Bars in a Map Bar Graph Theme . 26-11 26.4.6 Customizing the Slices in a Pie Graph Theme............................................................ 26-11 26.4.6.1 How to Customize the Slices in a Map Pie Graph Theme................................. 26-11 26.4.6.2 What Happens When You Customize the Slices in a Map Pie Graph Theme 26-12 26.5 Adding a Toolbar to a Map .................................................................................................. 26-12 26.5.1 How to Add a Toolbar to a Map .................................................................................. 26-12 26.5.2 What Happens When You Add a Toolbar to a Map ................................................. 26-13 27 Using ADF Gantt Chart Components 27.1 Introduction to the ADF Gantt Chart Components ............................................................ 27-1 27.1.1 Types of Gantt Charts ...................................................................................................... 27-1 27.1.2 Description of Project Gantt Chart Tasks ...................................................................... 27-3 27.1.3 Main Functional Parts of a Gantt Chart ........................................................................ 27-3 27.1.4 Relationship Between the Gantt Chart List Region and the Chart Region .............. 27-4 27.2 Understanding Data Requirements for the Gantt Chart ................................................... 27-5 27.2.1 Data for a Project Gantt Chart......................................................................................... 27-5 27.2.2 Data for a Resource Utilization Gantt Chart................................................................. 27-5 27.2.3 Data for a Scheduling Gantt Chart ................................................................................. 27-5 27.2.4 How to Display Data in a Hierarchical List or a Flat List........................................... 27-6 27.3 Navigating in a Gantt Chart ................................................................................................... 27-6 27.3.1 Scrolling the List Region or the Chart Region .............................................................. 27-6 27.3.2 How to Navigate to a Specific Date in a Gantt Chart.................................................. 27-6 27.3.3 How to Control the Visibility of Columns in the List Region.................................... 27-6 27.4 Zooming on the Gantt Chart Time Axis ............................................................................... 27-7 27.4.1 How to Customize Time Axis Settings.......................................................................... 27-7 27.4.2 How to Zoom In or Zoom Out on a Time Axis ............................................................ 27-7 27.5 Identifying Nonworking Days in a Gantt Chart ................................................................. 27-8 27.5.1 How to Specify Weekdays as Nonworking Days ........................................................ 27-8 27.5.2 How to Identify Specific Dates as Nonworking Days................................................. 27-8 27.6 Printing a Gantt Chart ............................................................................................................. 27-9 27.6.1 Print Options ..................................................................................................................... 27-9 27.6.2 Action Listener to Handle the Print Event.................................................................... 27-9 Part V Advanced Topics xviii
  17. 17. 28 Persisting Component Changes 28.1 Introduction to Using Change Persistence........................................................................... 28-1 28.2 Implementing Session Change Persistence.......................................................................... 28-2 28.2.1 How to Implement Session Change Persistence .......................................................... 28-2 28.2.2 What Happens When You Configure Your Application to Use Change Persistence ....... 28-3 28.2.3 What Happens at Runtime .............................................................................................. 28-3 28.2.4 What You May Need to Know About Using Change Persistence on Templates and Regions 28-3 29 Adding Drag and Drop Functionality 29.1 Introduction to Drag and Drop Functionality ..................................................................... 29-1 29.2 Adding Drag and Drop Functionality for Attributes ......................................................... 29-3 29.3 Adding Drag and Drop Functionality for Objects .............................................................. 29-3 29.3.1 How to Add Drag and Drop Functionality for a Single Object ................................. 29-4 29.3.2 What Happens at Runtime .............................................................................................. 29-7 29.3.3 What You May Need to Know About Using the ClientDropListener...................... 29-8 29.4 Adding Drag and Drop Functionality for Collections ....................................................... 29-8 29.4.1 How to Add Drag and Drop Functionality for Collections........................................ 29-9 29.4.2 What You May Need to Know About the dragDropEndListener........................... 29-11 29.5 Adding Drag and Drop Functionality for Components .................................................. 29-11 29.5.1 How to Add Drag and Drop Functionality for Components................................... 29-12 Part VI Appendices A ADF Faces Configuration A.1 Introduction to Configuring ADF Faces................................................................................. A-1 A.2 Configuration in web.xml......................................................................................................... A-1 A.2.1 How to Configure for JSF and ADF Faces in web.xml.................................................. A-2 A.2.2 What You May Need to Know About Required Elements in web.xml ...................... A-3 A.2.3 What You May Need to Know About ADF Faces Context Parameters in web.xml. A-4 A.2.3.1 State Saving .................................................................................................................. A-4 A.2.3.2 Debugging .................................................................................................................... A-5 A.2.3.3 File Uploading.............................................................................................................. A-5 A.2.3.4 Resource Debug Mode................................................................................................ A-6 A.2.3.5 Change Persistence...................................................................................................... A-6 A.2.3.6 Assertions ..................................................................................................................... A-6 A.2.3.7 Profiling......................................................................................................................... A-7 A.2.3.8 Facelets Support........................................................................................................... A-7 A.2.3.9 Dialog Prefix................................................................................................................. A-7 A.2.3.10 Compression for CSS Class Names........................................................................... A-7 A.2.3.11 Test Automation .......................................................................................................... A-7 A.2.3.12 UIViewRoot Caching .................................................................................................. A-8 A.2.3.13 Themes and Tonal Styles ............................................................................................ A-8 A.2.3.14 Partial Page Navigation .............................................................................................. A-8 A.2.4 What You May Need to Know About Other Context Parameters in web.xml ......... A-9 xix
  18. 18. A.3 Configuration in faces-config.xml ........................................................................................... A-9 A.3.1 How to Configure for ADF Faces in faces-config.xml................................................... A-9 A.4 Configuration in adf-config.xml ............................................................................................ A-11 A.4.1 How to Configure ADF Faces in adf-config.xml.......................................................... A-11 A.5 Configuration in adf-settings.xml ......................................................................................... A-11 A.5.1 How to Configure for ADF Faces in adf-settings.xml................................................. A-11 A.5.2 What You May Need to Know About Elements in adf-settings.xml ........................ A-12 A.5.2.1 Help System ............................................................................................................... A-12 A.6 Configuration in trinidad-config.xml ................................................................................... A-13 A.6.1 How to Configure ADF Faces Features in trinidad-config.xml................................. A-13 A.6.2 What You May Need to Know About Elements in trinidad-config.xml .................. A-14 A.6.2.1 Animation Enabled ................................................................................................... A-14 A.6.2.2 Skin Family ................................................................................................................. A-14 A.6.2.3 Time Zone and Year .................................................................................................. A-15 A.6.2.4 Enhanced Debugging Output.................................................................................. A-15 A.6.2.5 Page Accessibility Level ........................................................................................... A-15 A.6.2.6 Language Reading Direction ................................................................................... A-16 A.6.2.7 Currency Code and Separators for Number Groups and Decimal Points........ A-16 A.6.2.8 Formatting Dates and Numbers Locale ................................................................. A-17 A.6.2.9 Output Mode.............................................................................................................. A-17 A.6.2.10 Number of Active PageFlowScope Instances........................................................ A-17 A.6.2.11 Custom File Uploaded Processor ............................................................................ A-17 A.6.2.12 Client-Side Validation and Conversion.................................................................. A-17 A.7 Configuration in trinidad-skins.xml ..................................................................................... A-18 A.8 Using the RequestContext EL Implicit Object ..................................................................... A-18 B Message Keys for Converter and Validator Messages B.1 Introduction to ADF Faces Default Messages ....................................................................... B-1 B.2 Message Keys and Setter Methods .......................................................................................... B-1 B.3 Converter and Validator Message Keys and Setter Methods.............................................. B-2 B.3.1 af:convertColor.................................................................................................................... B-2 B.3.2 af:convertDateTime ............................................................................................................ B-2 B.3.3 af:convertNumber............................................................................................................... B-3 B.3.4 af:validateByteLength ........................................................................................................ B-4 B.3.5 af:validateDateRestriction ................................................................................................. B-4 B.3.6 af:validateDateTimeRange ................................................................................................ B-5 B.3.7 af:validateDoubleRange..................................................................................................... B-6 B.3.8 af:validateLength ................................................................................................................ B-7 B.3.9 af:validateRegExp ............................................................................................................... B-8 xx

×