Go to main content
1/56
Contents
Title and Copyright Information
Preface
Audience
Documentation Accessibility
Related Documents
Conventions
What's New in This Guide
New and Changed Features for Release 12c (12.1.3)
Other Significant Changes in this Document for Release 12c (12.1.3)
Part I Getting Started with ADF Faces
1
Introduction to ADF Faces
1.1
About ADF Faces
1.2
ADF Faces Framework
1.3
ADF Faces Components
2
ADF Faces Demo Application
2.1
About the ADF Faces Demonstration Application
2.2
Downloading and Installing the ADF Faces Demo Application
3
Getting Started with ADF Faces and JDeveloper
3.1
About Developing Declaratively in JDeveloper
3.2
Creating an Application Workspace
3.2.1
How to Create an ADF Faces Application Workspace
3.2.2
What Happens When You Create an Application Workspace
3.3
Defining Page Flows
3.3.1
How to Define a Page Flow
3.3.2
What Happens When You Use the Diagrammer to Create a Page Flow
3.4
Creating a View Page
3.4.1
How to Create JSF Pages
3.4.2
What Happens When You Create a JSF Page
3.4.3
What You May Need to Know About Updating Your Application to Use the Facelets Engine
3.4.4
What You May Need to Know About Automatic Component Binding
3.4.5
How to Add ADF Faces Components to JSF Pages
3.4.6
What Happens When You Add Components to a Page
3.4.7
How to Set Component Attributes
3.4.8
What Happens When You Use the Properties window
3.5
Creating EL Expressions
3.5.1
How to Create an EL Expression
3.5.2
How to Use the EL Format Tags
3.5.3
How to Use EL Expressions Within Managed Beans
3.6
Creating and Using Managed Beans
3.6.1
How to Create a Managed Bean in JDeveloper
3.6.2
What Happens When You Use JDeveloper to Create a Managed Bean
3.6.3
What You May Need to Know About Component Bindings and Managed Beans
3.7
Viewing ADF Faces Javadoc
3.7.1
How to View ADF Faces Source Code and Javadoc
Part II Understanding ADF Faces Architecture
4
Using ADF Faces Client-Side Architecture
4.1
About Using ADF Faces Architecture
4.2
Adding JavaScript to a Page
4.2.1
How to Use Inline JavaScript
4.2.2
How to Import JavaScript Libraries
4.2.3
What You May Need to Know About Accessing Client Event Sources
4.3
Instantiating Client-Side Components
4.3.1
How to Configure a Component to for a Client-Side Instance
4.3.2
What Happens When You Set clientComponent to true
4.4
Listening for Client Events
4.4.1
How to Listen for Client Events
4.5
Accessing Component Properties on the Client
4.5.1
How to Set Property Values on the Client
4.5.2
What Happens at Runtime: How Client Properties Are Set on the Client
4.5.3
How to Unsecure the disabled Property
4.5.4
How to ”Unsynchronize” Client and Server Property Values
4.6
Using Bonus Attributes for Client-Side Components
4.6.1
How to Create Bonus Attributes
4.6.2
What You May Need to Know About Marshalling Bonus Attributes
4.7
Understanding Rendering and Visibility
4.7.1
How to Set Visibility Using JavaScript
4.7.2
What You May Need to Know About Visible and the isShowing Function
4.8
Locating a Client Component on a Page
4.8.1
What You May Need to Know About Finding Components in Naming Containers
4.9
JavaScript Library Partitioning
4.9.1
How to Create JavaScript Partitions
4.9.2
What Happens at Runtime: JavaScript Partitioning
5
Using the JSF Lifecycle with ADF Faces
5.1
About Using the JSF Lifecycle and ADF Faces
5.2
Using the Immediate Attribute
5.2.1
How to Use the Immediate Attribute
5.3
Using the Optimized Lifecycle
5.4
Using the Client-Side Lifecycle
5.5
Using Subforms to Create Sections on a Page
5.6
Object Scope Lifecycles
5.7
Passing Values Between Pages
5.7.1
How to Use the pageFlowScope Scope Within Java Code
5.7.2
How to Use the pageFlowScope Scope Without Writing Java Code
5.7.3
What Happens at Runtime: How Values Are Passed
6
Handling Events
6.1
About Events and Event Handling
6.1.1
Events and Partial Page Rendering
6.1.2
Client-Side Event Model
6.2
Using ADF Faces Server Events
6.2.1
How to Handle Server-Side Events
6.3
Using JavaScript for ADF Faces Client Events
6.3.1
How to Use Client-Side Events
6.3.2
How to Return the Original Source of the Event
6.3.3
How to Use Client-Side Attributes for an Event
6.3.4
How to Block UI Input During Event Execution
6.3.5
How to Prevent Events from Propagating to the Server
6.3.6
How to Indicate No Response is Expected
6.3.7
What Happens at Runtime: How Client-Side Events Work
6.3.8
What You May Need to Know About Using Naming Containers
6.4
Sending Custom Events from the Client to the Server
6.4.1
How to Send Custom Events from the Client to the Server
6.4.2
What Happens at Runtime: How Client and Server Listeners Work Together
6.4.3
What You May Need to Know About Marshalling and Unmarshalling Data
6.5
Executing a Script Within an Event Response
6.6
Using ADF Faces Client Behavior Tags
6.6.1
How to Use the scrollComponentIntoViewBehavior Tag
6.7
Using Polling Events to Update Pages
6.7.1
How to Use the Poll Component
7
Validating and Converting Input
7.1
About ADF Faces Converters and Validators
7.1.1
ADF Faces Converters and Validators Use Cases and Examples
7.1.2
Additional Functionality for ADF Faces Converters and Validators
7.2
Conversion, Validation, and the JSF Lifecycle
7.3
Adding Conversion
7.3.1
How to Add a Converter
7.3.2
How to Specify Multiple Converter Patterns
7.3.3
What Happens at Runtime: How Converters Work
7.3.4
What You May Need to Know About Rounding Behavior of Number Converters
7.3.5
What You May Need to Know About Date Time Converters
7.4
Creating Custom ADF Faces Converters
7.4.1
How to Create a Custom ADF Faces Converter
7.4.1.1
Implement Server-Side (Java) Conversion
7.4.1.2
Register ADF Faces Converter in faces-config.xml
7.4.1.3
Implement Client-Side (Javascript) Conversion
7.4.2
Using Custom ADF Faces Converter on a JSF Page
7.5
Adding Validation
7.5.1
How to Add Validation
7.5.1.1
Adding ADF Faces Validation
7.5.1.2
Using Validation Attributes
7.5.1.3
Using ADF Faces Validators
7.5.2
What Happens at Runtime: How Validators Work
7.5.3
What You May Need to Know About Multiple Validators
7.6
Creating Custom JSF Validation
7.6.1
How to Create a Backing Bean Validation Method
7.6.2
What Happens When You Create a Backing Bean Validation Method
7.6.3
How to Create a Custom JSF Validator
7.6.4
What Happens When You Use a Custom JSF Validator
8
Rerendering Partial Page Content
8.1
About Partial Page Rendering
8.2
Using Partial Triggers
8.2.1
How to Use Partial Triggers
8.2.2
What You May Need to Know About Using the Browser Back Button
8.2.3
What You May Need to Know About PPR and Screen Readers
8.3
Using the Target Tag to Execute PPR
8.3.1
How to Use the Target Tag to Enable Partial Page Rendering
8.4
Enabling Partial Page Rendering Programmatically
8.4.1
How to Enable Partial Page Rendering Programmatically
8.5
Using Partial Page Navigation
8.5.1
How to Use Partial Page Navigation
8.5.2
What You May Need to Know About PPR Navigation
Part III Creating Your Layout
9
Organizing Content on Web Pages
9.1
About Organizing Content on Web Pages
9.1.1
Additional Functionality for Layout Components
9.2
Starting to Lay Out a Page
9.2.1
Geometry Management and Component Stretching
9.2.2
Nesting Components Inside Components That Allow Stretching
9.2.3
Using Quick Start Layouts
9.2.4
Tips for Using Geometry-Managed Components
9.2.5
How to Configure the document Tag
9.3
Arranging Content in a Grid
9.3.1
How to Use the panelGridLayout, gridRow, and gridCell Components to Create a Grid-Based Layout
9.3.2
What You May Need to Know About Geometry Management and the panelGridLayout Component
9.3.3
What You May Need to Know About Determining the Structure of Your Grid
9.3.4
What You May Need to Know About Determining Which Layout Component to Use
9.4
Arranging Contents to Stretch Across a Page
9.4.1
How to Use the panelStretchLayout Component
9.4.2
What You May Need to Know About Geometry Management and the panelStretchLayout Component
9.5
Using Splitters to Create Resizable Panes
9.5.1
How to Use the panelSplitter Component
9.5.2
What You May Need to Know About Geometry Management and the panelSplitter Component
9.6
Arranging Page Contents in Predefined Fixed Areas
9.6.1
How to Use the panelBorderLayout Component to Arrange Page Contents in Predefined Fixed Areas
9.7
Arranging Content in Forms
9.7.1
How to Use the panelFormLayout Component
9.7.2
What You May Need to Know About Using the group Component with the panelFormLayout Component
9.8
Arranging Contents in a Dashboard
9.8.1
How to Use the panelDashboard Component
9.8.2
What You May Need to Know About Geometry Management and the panelDashboard Component
9.9
Displaying and Hiding Contents Dynamically
9.9.1
How to Use the showDetail Component
9.9.2
How to Use the showDetailHeader Component
9.9.3
How to Use the panelBox Component
9.9.4
What You May Need to Know About Disclosure Events
9.9.5
What You May Need to Know About Skinning and the showDetail Component
9.9.6
What You May Need to Know About Skinning and the showDetailHeader Component
9.9.7
What You May Need to Know About Skinning and the panelBox Component
9.10
Displaying or Hiding Contents in Panels
9.10.1
How to Use the panelAccordion Component
9.10.2
How to Use the panelTabbed Component
9.10.3
How to Use the panelDrawer Component
9.10.4
How to Use the panelSpringboard Component
9.10.5
What You May Need to Know About Switching Between Grid and Strip Mode
9.10.6
How to Use the showDetailItem Component to Display Content
9.10.7
What You May Need to Know About Geometry Management and the showDetailItem Component
9.10.8
What You May Need to Know About showDetailItem Disclosure Events
9.10.9
What You May Need to Know About Skinning and the panelTabbed Component
9.11
Adding a Transition Between Components
9.11.1
How to Use the Deck Component
9.11.2
What You May Need to Know About Geometry Management and the deck Component
9.12
Displaying Items in a Static Box
9.12.1
How to Use the panelHeader Component
9.12.2
How to Use the decorativeBox Component
9.12.3
What You May Need to Know About Geometry Management and the decorativeBox Component
9.12.4
What You May Need to Know About Skinning and the panelHeader Component
9.12.5
What You May Need to Know About Skinning and the decorativeBox Component
9.13
Displaying a Bulleted List in One or More Columns
9.13.1
How to Use the panelList Component
9.13.2
What You May Need to Know About Creating a List Hierarchy
9.14
Grouping Related Items
9.14.1
How to Use the panelGroupLayout Component
9.14.2
What You May Need to Know About Geometry Management and the panelGroupLayout Component
9.15
Separating Content Using Blank Space or Lines
9.15.1
How to Use the spacer Component
9.15.2
How to Use the Separator Component
10
Creating and Reusing Fragments, Page Templates, and Components
10.1
About Reusable Content
10.1.1
Reusable Components Use Cases and Examples
10.1.2
Additional Functionality for Reusable Components
10.2
Common Functionality in Reusable Components
10.2.1
Page in Request Scope
10.2.2
Access to Child Components for Customization
10.3
Using Page Templates
10.3.1
How to Create a Page Template
10.3.2
What Happens When You Create a Page Template
10.3.3
How to Create JSF Pages Based on Page Templates
10.3.4
What Happens When You Use a Template to Create a Page
10.3.5
What Happens at Runtime: How Page Templates Are Resolved
10.3.6
What You May Need to Know About Page Templates and Naming Containers
10.4
Using Page Fragments
10.4.1
How to Create a Page Fragment
10.4.2
What Happens When You Create a Page Fragment
10.4.3
How to Use a Page Fragment in a JSF Page
10.4.3.1
Adding a Page Fragment Using the Components Window
10.4.3.2
Adding a Page Fragment Using the Applications Window
10.4.4
What Happens at Runtime: How Page Fragments are Resolved
10.5
Using Declarative Components
10.5.1
How to Create a Declarative Component
10.5.2
What Happens When You Create a Declarative Component
10.5.3
How to Deploy Declarative Components
10.5.4
How to Use Declarative Components in JSF Pages
10.5.5
What Happens When You Use a Declarative Component on a JSF Page
10.5.6
What Happens at Runtime: Declarative Components
10.6
Adding Resources to Pages
10.6.1
How to Add Resources to Page Templates and Declarative Components
10.6.2
What Happens at Runtime: How to Add Resources to the Document Header
Part IV Using Common ADF Faces Components
11
Using Input Components and Defining Forms
11.1
About Input Components and Forms
11.1.1
Input Component Use Cases and Examples
11.1.2
Additional Functionality for Input Components and Forms
11.2
Defining Forms
11.2.1
How to Add a Form to a Page
11.2.2
How to Add a Subform to a Page
11.2.3
How to Add a Button to Reset the Form
11.3
Using the inputText Component
11.3.1
How to Add an inputText Component
11.3.2
How to Add the Ability to Insert Text into an inputText Component
11.4
Using the Input Number Components
11.4.1
How to Add an inputNumberSlider or an inputRangeSlider Component
11.4.2
How to Add an inputNumberSpinbox Component
11.5
Using Color and Date Choosers
11.5.1
How to Add an inputColor Component
11.5.2
How to Add an InputDate Component
11.5.3
What You May Need to Know About Selecting Time Zones Without the inputDate Component
11.5.4
What You May Need to Know About Creating a Custom Time Zone List
11.6
Using Selection Components
11.6.1
How to Use Selection Components
11.6.2
What You May Need to Know About the contentDelivery Attribute on the SelectManyChoice Component
11.7
Using Shuttle Components
11.7.1
How to Add a selectManyShuttle or selectOrderShuttle Component
11.7.2
What You May Need to Know About Using a Client Listener for Selection Events
11.8
Using the richTextEditor Component
11.8.1
How to Add a richTextEditor Component
11.8.2
How to Add the Ability to Insert Text into a richTextEditor Component
11.8.3
How to Customize the Toolbar
11.9
Using File Upload
11.9.1
How to Use the inputFile Component
11.9.2
How to Configure the inputFile Component to Upload Multiple Files
11.9.3
What You May Need to Know About Temporary File Storage
11.9.4
What You May Need to Know About Uploading Multiple Files
11.9.5
What You May Need to Know About Customizing User Interface of inputFile Component
11.10
Using Code Editor
11.10.1
How to Add a codeEditor Component
12
Using Tables, Trees, and Other Collection-Based Components
12.1
About Collection-Based Components
12.1.1
Collection-Based Component Use Cases and Examples
12.1.2
Additional Functionality for Collection-Based Components
12.2
Common Functionality in Collection-Based Components
12.2.1
Displaying Data in Rows and Nodes
12.2.2
Content Delivery
12.2.3
Row Selection
12.2.4
Editing Data in Tables, Trees, and Tree Tables
12.2.5
Using Popup Dialogs in Tables, Trees, and Tree Tables
12.2.6
Accessing Client Collection Components
12.2.7
Geometry Management for the Table, Tree, and Tree Table Components
12.3
Displaying Data in Tables
12.3.1
Columns and Column Data
12.3.2
Formatting Tables
12.3.3
Formatting Columns
12.3.4
How to Display a Table on a Page
12.3.5
What Happens When You Add a Table to a Page
12.3.6
What Happens at Runtime: Data Delivery
12.3.7
What You May Need to Know About Programmatically Enabling Sorting for Table Columns
12.3.8
What You May Need to Know About Performing an Action on Selected Rows in Tables
12.3.9
What You May Need to Know About Dynamically Determining Values for Selection Components in Tables
12.4
Adding Hidden Capabilities to a Table
12.4.1
How to Use the detailStamp Facet
12.4.2
What Happens at Runtime: The rowDisclosureEvent
12.5
Enabling Filtering in Tables
12.5.1
How to Add Filtering to a Table
12.6
Displaying Data in Trees
12.6.1
How to Display Data in Trees
12.6.2
What Happens When You Add a Tree to a Page
12.6.3
What Happens at Runtime: Tree Component Events
12.6.4
What You May Need to Know About Programmatically Expanding and Collapsing Nodes
12.6.5
What You May Need to Know About Programmatically Selecting Nodes
12.7
Displaying Data in Tree Tables
12.7.1
How to Display Data in a Tree Table
12.8
Passing a Row as a Value
12.9
Displaying Table Menus, Toolbars, and Status Bars
12.9.1
How to Add a panelCollection with a Table, Tree, or Tree Table
12.10
Displaying a Collection in a List
12.10.1
How to Display a Collection in a List
12.11
Displaying Images in a Carousel
12.11.1
How to Create a Carousel
12.11.2
What You May Need to Know About the Carousel Component and Different Browsers
12.12
Exporting Data from Table, Tree, or Tree Table
12.12.1
How to Export Table, Tree, or Tree Table Data to an External Format
12.12.2
What Happens at Runtime: How Row Selection Affects the Exported Data
12.13
Accessing Selected Values on the Client from Collection-Based Components
12.13.1
How to Access Values from a Selection in Stamped Components.
12.13.2
What You May Need to Know About Accessing Selected Values
13
Using List-of-Values Components
13.1
About List-of-Values Components
13.1.1
Additional Functionality for List-of-Values Components
13.2
Creating the ListOfValues Data Model
13.2.1
How to Create the ListOfValues Data Model
13.3
Using the inputListOfValues Component
13.3.1
How to Use the InputListOfValues Component
13.3.2
What You May Need to Know About Skinning the Search and Select Dialogs in the LOV Components
13.4
Using the InputComboboxListOfValues Component
13.4.1
How to Use the InputComboboxListOfValues Component
14
Using Query Components
14.1
About Query Components
14.1.1
Query Component Use Cases and Examples
14.1.2
Additional Functionality for the Query Components
14.2
Creating the Query Data Model
14.2.1
How to Create the Query Data Model
14.3
Using the quickQuery Component
14.3.1
How to Add the quickQuery Component Using a Model
14.3.2
How to Use a quickQuery Component Without a Model
14.3.3
What Happens at Runtime: How the Framework Renders the quickQuery Component and Executes the Search
14.4
Using the query Component
14.4.1
How to Add the Query Component
15
Using Menus, Toolbars, and Toolboxes
15.1
About Menus, Toolbars, and Toolboxes
15.1.1
Menu Components Use Cases and Examples
15.1.2
Additional Functionality for Menu and Toolbar Components
15.2
Using Menus in a Menu Bar
15.2.1
How to Create and Use Menus in a Menu Bar
15.3
Using Toolbars
15.3.1
How to Create and Use Toolbars
15.3.2
What Happens at Runtime: How the Size of Menu Bars and Toolbars Is Determined
15.3.3
What You May Need to Know About Toolbars
16
Using Popup Dialogs, Menus, and Windows
16.1
About Popup Dialogs, Menus, and Windows
16.1.1
Popup Dialogs, Menus, Windows Use Cases and Examples
16.1.2
Additional Functionality for Popup Dialogs, Menus, and Windows
16.2
Declaratively Creating Popups
16.2.1
How to Create a Dialog
16.2.2
How to Create a Panel Window
16.2.3
How to Create a Context Menu
16.2.4
How to Create a Note Window
16.2.5
What Happens at Runtime: Popup Component Events
16.2.6
What You May Need to Know About Dialog Events
16.2.7
What You May Need to Know About Animation and Popups
16.3
Declaratively Invoking a Popup
16.3.1
How to Declaratively Invoke a Popup Using the af:showPopupBehavior Tag
16.3.2
What Happens When You Use af:showPopupBehavior Tag to Invoke a Popup
16.4
Programmatically Invoking a Popup
16.4.1
How to Programmatically Invoke a Popup
16.4.2
What Happens When You Programmatically Invoke a Popup
16.5
Displaying Contextual Information in Popups
16.5.1
How to Create Contextual Information
16.6
Controlling the Automatic Cancellation of Inline Popups
16.6.1
How to Disable the Automatic Cancellation of an Inline Popup
16.6.2
What Happens When You Disable the Automatic Cancellation of an Inline Popup
16.7
Resetting Input Fields in a Popup
16.7.1
How to Reset the Input Fields in a Popup
16.7.2
What Happens When You Configure a Popup to Reset Its Input Fields
17
Using a Calendar Component
17.1
About Creating a Calendar Component
17.1.1
Calendar Use Cases and Examples
17.1.2
Additional Functionality for the Calendar
17.2
Creating the Calendar
17.2.1
Calendar Classes
17.2.2
How to Create a Calendar
17.3
Configuring the Calendar Component
17.3.1
How to Configure the Calendar Component
17.3.2
What Happens at Runtime: Calendar Events and PPR
17.4
Adding Functionality Using Popup Components
17.4.1
How to Add Functionality Using Popup Components
17.5
Customizing the Toolbar
17.5.1
How to Customize the Toolbar
17.6
Styling the Calendar
17.6.1
How to Style Activities
17.6.2
What Happens at Runtime: Activity Styling
17.6.3
How to Customize Dates
18
Using Output Components
18.1
About Output Text, Image, Icon, and Media Components
18.1.1
Output Components Use Case and Examples
18.1.2
Additional Functionality for Output Components
18.2
Displaying Output Text and Formatted Output Text
18.2.1
How to Display Output Text
18.2.2
What You May Need to Know About Allowed Format and Character Codes in the outputFormatted Component
18.3
Displaying Icons
18.3.1
How to Display Icons
18.4
Displaying Images
18.4.1
How to Display Images
18.5
Using Images as Links
18.5.1
How to Use Images as Links
18.6
Displaying Application Status Using Icons
18.7
Playing Video and Audio Clips
18.7.1
How to Allow Playing of Audio and Video Clips
19
Displaying Tips, Messages, and Help
19.1
About Displaying Tips and Messages
19.1.1
Messaging Components Use Cases and Examples
19.1.2
Additional Functionality for Message Components
19.2
Displaying Tips for Components
19.2.1
How to Display Tips for Components
19.3
Displaying Hints and Error Messages for Validation and Conversion
19.3.1
How to Define Custom Validator and Converter Messages for a Component Instance
19.3.2
How to Define Custom Validator and Converter Messages for All Instances of a Component
19.3.3
How to Display Component Messages Inline
19.3.4
How to Display Global Messages Inline
19.3.5
What Happens at Runtime: How Messages Are Displayed
19.4
Grouping Components with a Single Label and Message
19.4.1
How to Group Components with a Single Label and Message
19.5
Displaying Help for Components
19.5.1
How to Create Help Providers
19.5.1.1
How to Create a Resource Bundle-Based Provider
19.5.1.2
How to Create an XLIFF Provider
19.5.1.3
How to Create a Managed Bean Provider
19.5.1.4
How to Create an External URL Help Provider
19.5.1.5
How to Create a Custom Java Class Help Provider
19.5.2
How to Register the Help Provider
19.5.3
How to Access Help Content from a UI Component
19.5.4
How to Use JavaScript to Launch an External Help Window
19.6
Combining Different Message Types
20
Working with Navigation Components
20.1
About Navigation Components
20.1.1
Navigation Components Use Cases and Examples
20.1.2
Additional Functionality for Navigation Components
20.2
Common Functionality in Navigation Components
20.3
Using Buttons and Links for Navigation
20.3.1
How to Use Buttons and Links for Navigation and Deliver ActionEvents
20.3.2
How to Use Buttons and Links for Navigation Without Delivering ActionEvents
20.3.3
What You May Need to Know About Using Partial Page Navigation
20.4
Configuring a Browser's Context Menu for Links
20.4.1
How to Configure a Browser's Context Menu for Command Links
20.4.2
What Happens When You Configure a Browser's Context Menu for Command Links
20.5
Using Buttons or Links to Invoke Functionality
20.5.1
How to Use an Action Component to Download Files
20.5.2
How to Use an Action Component to Reset Input Fields
20.6
Using Navigation Items for a Page Hierarchy
20.6.1
How to Create Navigation Cases for a Page Hierarchy
20.7
Using a Menu Model to Create a Page Hierarchy
20.7.1
How to Create the Menu Model Metadata
20.7.2
What Happens When You Use the Create ADF Menu Model Wizard
20.7.3
How to Bind the navigationPane Component to the Menu Model
20.7.4
How to Use the breadCrumbs Component with a Menu Model
20.7.5
How to Use the menuBar Component with a Menu Model
20.7.6
What Happens at Runtime: How the Menu Model Creates a Page Hierarchy
20.7.7
What You May Need to Know About Using Custom Attributes
20.8
Creating a Simple Navigational Hierarchy
20.8.1
How to Create a Simple Page Hierarchy
20.8.2
How to Use the breadCrumbs Component
20.8.3
What You May Need to Know About Removing Navigation Tabs
20.8.4
What You May Need to Know About the Size of Navigation Tabs
20.8.5
What You May Need to Know About Skinning and Navigation Tabs
20.9
Using Train Components to Create Navigation Items for a Multistep Process
20.9.1
How to Create the Train Model
20.9.2
How to Configure Managed Beans for the Train Model
20.9.3
How to Bind to the Train Model in JSF Pages
21
Determining Components at Runtime
21.1
About Determining Components at Runtime
21.2
Creating the Model for a Dynamic Component
21.2.1
How to Create the Model Without Groups
21.2.2
How to Create the Model Using Groups
21.3
Adding a Dynamic Component as a Form to a Page
21.3.1
How to Add a Dynamic Component as a Form without Groups to a Page
21.3.2
How to Add a Dynamic Component as a Form with Groups to a Page
21.4
Adding a Dynamic Component as a Table to a Page
21.4.1
How to Add a Dynamic Component as a Table Without Groups to a Page
21.4.2
How to Add a Dynamic Component as a Table with Groups to a Page
21.5
Using Validation and Conversion with Dynamic Components
21.6
Using Dynamic and Static Components Together
Part V Using ADF Data Visualization Components
22
Introduction to ADF Data Visualization Components
22.1
About ADF Data Visualization Components
22.1.1
Chart Component Use Cases and Examples
22.1.2
Gauge Component Use Cases and Examples
22.1.3
Pivot Table Use Cases and Examples
22.1.4
Geographic Map Use Cases and Examples
22.1.5
Thematic Map Component Use Cases and Examples
22.1.6
Gantt Chart Component Use Cases and Examples
22.1.7
Timeline Component Use Cases and Examples
22.1.8
Hierarchy Viewer Component Use Cases and Examples
22.1.9
Treemap and Sunburst Components Use Cases and Examples
22.1.10
Additional Functionality for Data Visualization Components
22.2
Common Functionality in Data Visualization Components
22.2.1
Content Delivery
22.2.2
Automatic Partial Page Rendering (PPR)
22.2.3
Active Data Support
22.2.4
Text Resources from Application Resource Bundles
22.3
Providing Data for ADF Data Visualization Components
23
Using Chart Components
23.1
About the Chart Component
23.1.1
Chart Component Use Cases and Examples
23.1.2
End User and Presentation Features of Charts
23.1.2.1
Chart Data Labels
23.1.2.2
Chart Element Labels
23.1.2.3
Chart Sizing
23.1.2.4
Chart Legends
23.1.2.5
Chart Styling
23.1.2.6
Chart Series Hiding
23.1.2.7
Chart Reference Objects
23.1.2.8
Chart Series Effects
23.1.2.9
Chart Series Customization
23.1.2.10
Chart Data Cursor
23.1.2.11
Chart Time Axis
23.1.2.12
Chart Popups and Context Menus
23.1.2.13
Chart Selection Support
23.1.2.14
Chart Zoom and Scroll
23.1.2.15
Legend and Marker Dimming
23.1.2.16
Pie Chart Other Slice Support
23.1.2.17
Exploding Slices in Pie Charts
23.1.2.18
Chart Animation
23.1.2.19
Chart Image Formats
23.1.3
Additional Functionality for Chart Components
23.2
Using the Chart Component
23.2.1
Chart Component Data Requirements
23.2.1.1
Area, Bar, Horizontal Bar, and Line Chart Data Requirements
23.2.1.2
Bubble Chart Data Requirements
23.2.1.3
Combination Chart Data Requirements
23.2.1.4
Pie Chart Data Requirements
23.2.1.5
Scatter Chart Data Requirements
23.2.1.6
Spark Chart Data Requirements
23.2.2
Configuring Charts
23.2.3
How to Add a Chart to a Page
23.2.4
What Happens When You Add a Chart to a Page
23.3
Adding Data to Charts
23.3.1
How to Add Data to Area, Bar, Horizontal Bar, Combination, and Line Charts
23.3.2
How to Add Data to Pie Charts
23.3.3
How to Add Data to Bubble or Scatter Charts
23.3.4
How to Add Data to Sparkcharts
23.4
Customizing Chart Display Elements
23.4.1
How to Configure Chart Labels
23.4.1.1
How to Configure Chart Data Labels
23.4.1.2
How to Configure Chart Element Labels
23.4.2
How to Configure Chart Legends
23.4.3
How to Format Chart Numerical Values
23.4.4
Customizing a Chart Axis
23.4.4.1
How to Configure a Time Axis
23.4.4.2
How to Customize the Chart Axis
23.4.4.3
Configuring Dual Y-Axis
23.4.5
Adding Reference Objects to a Chart
23.4.5.1
How to Add a Reference Object to a Chart
23.4.5.2
What You May Need to Know About Adding Reference Objects to Charts
23.4.6
How to Configure a Stacked Chart
23.4.7
Customizing Chart Series
23.4.7.1
How to Customize a Chart Series
23.4.7.2
How to Configure Series Fill Effects on All Series in a Chart
23.4.8
How to Configure the Pie Chart Other Slice
23.4.9
How to Explode Pie Chart Slices
23.4.10
How to Configure Animation
23.4.11
What You May Need to Know About Skinning and Customizing Chart Display Elements
23.5
Adding Interactive Features to Charts
23.5.1
How to Add a Data Cursor
23.5.2
How to Configure Hide and Show Behavior
23.5.3
How to Configure Legend and Marker Dimming
23.5.4
How to Configure Selection Support
23.5.5
How to Configure Popups and Context Menus
23.5.6
How to Configure Chart Zoom and Scroll
24
Using Gauge Components
24.1
About the Gauge Component
24.1.1
Gauge Component Use Cases and Examples
24.1.2
End User and Presentation Features of Gauge Components
24.1.2.1
Gauge Shape Variations
24.1.2.2
Gauge Thresholds
24.1.2.3
Gauge Visual Effects
24.1.2.4
Gauge Animation
24.1.2.5
Gauge Tooltips
24.1.2.6
Gauge Popups and Context Menus
24.1.2.7
Gauge Value Change Support
24.1.2.8
Gauge Reference Lines (Status Meter Gauges)
24.1.3
Additional Functionality of Gauge Components
24.2
Using the Gauge Component
24.2.1
Gauge Component Data Requirements
24.2.2
How to Add a Gauge to a Page
24.2.3
What Happens When You Add a Gauge to a Page
24.2.4
How to Add Data to Gauges
24.2.5
Configuring Gauges
24.2.5.1
Configuring Dial Gauges
24.2.5.2
Configuring LED Gauges
24.2.5.3
Configuring Rating Gauges
24.2.5.4
Configuring Status Meter Gauges
24.2.6
How to Add Gauges to Tables
24.3
Customizing Gauge Display Elements
24.3.1
How to Configure Gauge Thresholds
24.3.2
Formatting Gauge Style Elements
24.3.2.1
How to Change Gauge Size and Apply CSS Styles
24.3.2.2
How to Format Gauge Text
24.3.2.3
What You May Need to Know About Skinning and Formatting Gauge Style Elements
24.3.3
How to Format Numeric Data Values in Gauges
24.3.4
How to Disable Gauge Visual Effects
24.3.5
How to Configure Gauge Animation
24.3.6
How to Configure Status Meter Gauge Reference Lines
24.4
Adding Interactivity to Gauges
24.4.1
How to Configure Gauge Tooltips
24.4.2
How to Add a Popup or Context Menu to a Gauge
24.4.3
How to Configure Value Change Support for a Gauge
25
Using Pivot Table Components
25.1
About the Pivot Table Component
25.1.1
Pivot Table and Pivot Filter Bar Component Use Cases and Examples
25.1.2
End User and Presentation Features of Pivot Table Components
25.1.2.1
Pivot Filter Bar
25.1.2.2
Pivoting
25.1.2.3
Editing Data Cells
25.1.2.4
Data and Header Sorting
25.1.2.5
Drilling
25.1.2.6
Scrolling and Page Controls
25.1.2.7
Persistent Header Layers
25.1.2.8
Split View of Large Data Sets
25.1.2.9
Sizing
25.1.2.10
Header Cell Word Wrapping
25.1.2.11
Active Data Support (ADS)
25.1.3
Additional Functionality for the Pivot Table Component
25.2
Using the Pivot Table Component
25.2.1
Pivot Table Data Requirements
25.2.2
Configuring Pivot Tables
25.2.3
How to Add a Pivot Table to a Page
25.2.4
Configuring Pivot Table Display Size and Style
25.2.5
What Happens When You Add a Pivot Table to a Page
25.2.6
What You Many Need to Know About Displaying Large Data Sets
25.2.7
What You May Need to Know About Pivot Tables on Touch Devices
25.2.8
What You May Need to Know About Skinning and Customizing the Appearance of Pivot Tables
25.3
Configuring Header and Data Cell Stamps
25.3.1
Using var and varStatus Properties
25.3.2
How to Configure Header and Data Cell Stamps
25.4
Using Pivot Filter Bars
25.4.1
Using a Pivot Filter Bar with a Pivot Table
25.4.2
Using a Pivot Filter Bar with a Graph
25.4.3
What You May Need to Know About Skinning and Customizing the Appearance of Pivot Filter Bars
25.5
Adding Interactivity to Pivot Tables
25.5.1
Using Selection in Pivot Tables
25.5.2
Using Partial Page Rendering
25.5.3
Exporting from a Pivot Table
25.5.4
Displaying Pivot Tables in Printable Pages
25.6
Formatting Pivot Table Cell Content With CellFormat
25.6.1
Using a CellFormat Object for a Data Cell
25.6.2
Specifying a Cell Format
25.6.3
Configuring Stoplight and Conditional Formatting Using CellFormat
26
Using Gantt Chart Components
26.1
About the Gantt Chart Components
26.1.1
Gantt Chart Component Use Cases and Examples
26.1.2
End User and Presentation Features
26.1.2.1
Gantt Chart Regions
26.1.2.2
Information Panel
26.1.2.3
Toolbar
26.1.2.4
Scrolling, Zooming, and Panning
26.1.2.5
Showing Dependencies
26.1.2.6
Context Menus
26.1.2.7
Row Selection
26.1.2.8
Editing Tasks
26.1.2.9
Server-Side Events
26.1.2.10
Printing
26.1.2.11
Content Delivery
26.1.3
Additional Functionality for Gantt Chart Components
26.2
Using the Gantt Chart Components
26.2.1
Data for a Project Gantt Chart
26.2.2
Data for a Resource Utilization Gantt Chart
26.2.3
Data for a Scheduling Gantt Chart
26.2.4
Gantt Chart Tasks and Resources
26.2.5
Configuring Gantt Charts
26.2.6
How to Add a Gantt Chart to a Page
26.2.7
What Happens When You Add a Gantt Chart to a Page
26.3
Customizing Gantt Chart Tasks and Resources
26.3.1
Creating a New Task Type
26.3.2
Configuring Stacked Bars in Resource Utilization Gantt Charts
26.3.3
Configuring a Resource Capacity Line
26.3.4
Displaying Resource Attribute Details
26.3.5
Configuring Background Bars in Scheduling Gantt Charts
26.4
Customizing Gantt Chart Display Elements
26.4.1
Specifying Nonworking Days in a Gantt Chart
26.4.1.1
How to Specify Weekdays as Nonworking Days
26.4.1.2
How to Identify Specific Dates as Nonworking Days
26.4.2
How to Apply Read-Only Values to Gantt Chart Features
26.4.3
How to Customize the Time Axis of a Gantt Chart
26.4.4
Creating and Customizing a Gantt Chart Legend
26.4.5
Customizing Gantt Chart Toolbars
26.4.6
Customizing Gantt Chart Context Menus
26.4.7
How to Specify Custom Data Filters
26.4.8
What You May Need to Know About Skinning and Customzing the Appearance of Gantt Charts
26.5
Adding Interactive Features to Gantt Charts
26.5.1
Performing an Action on Selected Tasks or Resources
26.5.2
Using Page Controls for a Gantt Chart
26.5.3
Configuring Synchronized Scrolling Between Gantt Charts
26.5.4
Printing a Gantt Chart
26.5.4.1
Print Options
26.5.4.2
Action Listener to Handle the Print Event
26.5.5
Adding a Double-Click Event to a Task Bar
26.5.6
Using Gantt Charts as a Drop Target or Drag Source
27
Using Timeline Components
27.1
About Timeline Components
27.1.1
Timeline Use Cases and Examples
27.1.2
End User and Presentation Features
27.1.2.1
Layout Options
27.1.2.2
Timeline Item Selection
27.1.2.3
Timeline Grouping and Sorting
27.1.2.4
Drag and Drop Support
27.1.2.5
Content Delivery
27.1.2.6
Timeline Image Formats
27.1.2.7
Timeline Display in Printable or Emailable Pages
27.1.3
Additional Functionality for Timeline Components
27.2
Using Timeline Components
27.2.1
Timeline Component Data Requirements
27.2.2
Configuring Timelines
27.2.3
How to Add a Timeline to a Page
27.2.4
What Happens When You Add a Timeline to a Page
27.3
Adding Data to Timeline Components
27.3.1
How to Add Data to a Timeline
27.3.2
What You May Need to Know About Configuring Data for a Dual Timeline
27.3.3
What You May Need to Know About Adding Data to Timelines
27.4
Customizing Timeline Display Elements
27.4.1
Customizing Timeline Items
27.4.2
How to Add a Custom Time Scale to a Timeline
27.4.3
What You May Need to Know About Skinning and Customizing the Appearance of Timelines
27.5
Adding Interactive Features to Timelines
27.5.1
How to Add Popups to Timeline Items
27.5.2
Configuring Timeline Context Menus
27.5.2.1
How to Configure Timeline Context Menus
27.5.2.2
What You May Need to Know About Configuring Timeline Context Menus
27.5.3
How to Add Drag and Drop to a Timeline
28
Using Map Components
28.1
About Map Components
28.1.1
Map Component Use Cases and Examples
28.1.2
End User and Presentation Features of Maps
28.1.2.1
Geographic Map End User and Presentation Features
28.1.2.2
Thematic Map End User and Presentation Features
28.1.3
Additional Functionality for Map Components
28.2
Using the Geographic Map Component
28.2.1
Configuring Geographic Map Components
28.2.2
How to Add a Geographic Map to a Page
28.2.3
What Happens When You Add a Geographic Map to a Page
28.2.4
What You May Need to Know About Active Data Support for Map Point Themes
28.3
Customizing Geographic Map Display Attributes
28.3.1
How to Adjust the Map Size
28.3.2
How to Specify Strategy for Map Zoom Control
28.3.3
How to Customize and Use Map Selections
28.3.4
How to Customize the Map Legend
28.3.5
What You May Need to Know About Skinning and Customizing the Appearance of Geographic Maps
28.4
Customizing Geographic Map Themes
28.4.1
How to Customize Zoom Levels for a Theme
28.4.2
How to Customize the Labels of a Map Theme
28.4.3
How to Customize Color Map Themes
28.4.4
How to Customize Point Images in a Point Theme
28.4.5
What Happens When You Customize the Point Images in a Map
28.4.6
How to Customize the Bars in a Bar Graph Theme
28.4.7
What Happens When You Customize the Bars in a Map Bar Graph Theme
28.4.8
How to Customize the Slices in a Pie Graph Theme
28.4.9
What Happens When You Customize the Slices in a Map Pie Graph Theme
28.5
Adding a Toolbar to a Geographic Map
28.5.1
How to Add a Toolbar to a Map
28.5.2
What Happens When You Add a Toolbar to a Map
28.6
Using Thematic Map Components
28.6.1
Configuring Thematic Maps
28.6.2
What You May Need to Know About Prebuilt Base Maps
28.6.3
Using the Layer Browser
28.6.4
How to Add a Thematic Map to a Page
28.6.5
What Happens When You Add a Thematic Map to a Page
28.6.6
What You May Need to Know About Thematic Map Image Formats
28.7
Customizing Thematic Map Display Attributes
28.7.1
How to Customize Thematic Map Labels
28.7.2
How to Configure Tooltips to Display Data
28.7.3
How to Format Numeric Data Values in Area and Marker Labels
28.7.4
How to Configure Thematic Map Data Zooming
28.7.5
How to Configure Invisible Area Layers
28.7.6
Defining a Custom Base Map
28.7.7
What You May Need to Know About Skinning and Customizing the Appearance of a Thematic Map
28.8
Adding Interactive Features to Thematic Maps
28.8.1
How to Configure Selection and Action Events in Thematic Maps
28.8.2
How to Add Popups to Thematic Map Areas and Markers
28.8.3
How to Configure Animation Effects
28.8.4
How to Add Drag and Drop to Thematic Map Components
29
Using Hierarchy Viewer Components
29.1
About Hierarchy Viewer Components
29.1.1
Hierarchy Viewer Use Cases and Examples
29.1.2
End User and Presentation Features
29.1.2.1
Layouts
29.1.2.2
Navigation
29.1.2.3
Tilt Panning
29.1.2.4
Control Panel
29.1.2.5
Printing
29.1.2.6
Bi-directional Support
29.1.2.7
State Management
29.1.3
Additional Functionality for Hierarchy Viewer Components
29.2
Using Hierarchy Viewer Components
29.2.1
Configuring Hierarchy Viewer Components
29.2.2
How to Add a Hierarchy Viewer to a Page
29.2.3
What Happens When You Add a Hierarchy Viewer to a Page
29.2.4
What You May Need to Know About Hierarchy Viewer Rendering and HTML
29.3
Managing Nodes in a Hierarchy Viewer
29.3.1
How to Specify Node Content
29.3.2
How to Configure the Controls on a Node
29.3.3
Specifying a Node Definition for an Accessor
29.3.4
Associating a Node Definition with a Particular Set of Data Rows
29.3.5
How to Specify Ancestor Levels for an Anchor Node
29.4
Using Panel Cards
29.4.1
How to Create a Panel Card
29.4.2
What Happens at Runtime: How the Panel Card Component Is Rendered
29.5
Configuring Navigation in a Hierarchy Viewer
29.5.1
How to Configure Upward Navigation in a Hierarchy Viewer
29.5.2
How to Configure Same-Level Navigation in a Hierarchy Viewer
29.5.3
What Happens When You Configure Same-Level Navigation in a Hierarchy Viewer
29.6
Customizing the Appearance of a Hierarchy Viewer
29.6.1
How to Adjust the Display Size and Styles of a Hierarchy Viewer
29.6.2
Including Images in a Hierarchy Viewer
29.6.3
How to Configure the Display of the Control Panel
29.6.4
How to Configure the Display of Links and Labels
29.6.5
How to Disable the Hover Detail Window
29.6.6
What You May Need to Know About Skinning and Customizing the Appearance of a Hierarchy Viewer
29.7
Adding Interactivity to a Hierarchy Viewer Component
29.7.1
How to Configure Node Selection Action
29.7.2
Configuring a Hierarchy Viewer to Invoke a Popup Window
29.7.3
Configuring Hierarchy Viewer Drag and Drop
29.7.3.1
How to Configure Hierarchy Viewer Drag and Drop
29.7.3.2
What You May Need to Know About Configuring Hierarchy Viewer Drag and Drop
29.8
Adding Search to a Hierarchy Viewer
29.8.1
How to Configure Searching in a Hierarchy Viewer
29.8.2
What You May Need to Know About Configuring Search in a Hierarchy Viewer
30
Using Treemap and Sunburst Components
30.1
About the Treemap and Sunburst Components
30.1.1
Treemap and Sunburst Use Cases and Examples
30.1.2
End User and Presentation Features of Treemaps and Sunbursts
30.1.2.1
Treemap and Sunburst Layouts
30.1.2.2
Attribute Groups
30.1.2.3
Legend Support
30.1.2.4
Pattern Support
30.1.2.5
Node Selection Support
30.1.2.6
Tooltip Support
30.1.2.7
Popup Support
30.1.2.8
Context Menus
30.1.2.9
Drilling Support
30.1.2.10
Other Node Support
30.1.2.11
Drag and Drop Support
30.1.2.12
Sorting Support
30.1.2.13
Treemap and Sunburst Image Formats
30.1.2.14
Advanced Node Content
30.1.2.15
Printing and Email Support
30.1.2.16
Active Data Support (ADS)
30.1.2.17
Isolation Support (Treemap Only)
30.1.2.18
Treemap Group Node Header Customization (Treemap Only)
30.1.3
Additional Functionality for Treemap and Sunburst Components
30.2
Using the Treemap and Sunburst Components
30.2.1
Treemap and Sunburst Data Requirements
30.2.2
Using the Treemap Component
30.2.2.1
Configuring Treemaps
30.2.2.2
How to Add a Treemap to a Page
30.2.2.3
What Happens When You Add a Treemap to a Page
30.2.3
Using the Sunburst Component
30.2.3.1
Configuring Sunbursts
30.2.3.2
How to Add a Sunburst to a Page
30.2.3.3
What Happens When You Add a Sunburst to a Page
30.3
Adding Data to Treemap and Sunburst Components
30.3.1
How to Add Data to Treemap or Sunburst Components
30.3.2
What You May Need to Know about Adding Data to Treemaps and Sunbursts
30.4
Customizing Treemap and Sunburst Display Elements
30.4.1
Configuring Treemap and Sunburst Display Size and Style
30.4.1.1
What You May Need to Know About Skinning and Configuring Treemap and Sunburst Display Size and Style
30.4.2
Configuring Pattern Display
30.4.3
Configuring Treemap and Sunburst Attribute Groups
30.4.3.1
How to Configure Treemap and Sunburst Discrete Attribute Groups
30.4.3.2
How to Configure Treemap or Sunburst Continuous Attribute Groups
30.4.3.3
What You May Need to Know About Configuring Attribute Groups
30.4.4
How to Configure Treemap and Sunburst Legends
30.4.5
Configuring the Treemap and Sunburst Other Node
30.4.5.1
How to Configure the Treemap and Sunburst Other Node
30.4.5.2
What You May Need to Know About Configuring the Treemap and Sunburst Other Node
30.4.6
Configuring Treemap and Sunburst Sorting
30.4.7
Configuring Treemap and Sunburst Advanced Node Content
30.4.7.1
How to Add Advanced Node Content to a Treemap
30.4.7.2
How to Add Advanced Root Node Content to a Sunburst:
30.4.7.3
What You May Need to Know About Configuring Advanced Node Content on Treemaps
30.4.8
How to Configure Animation in Treemaps and Sunbursts
30.4.9
Configuring Labels in Treemaps and Sunbursts
30.4.9.1
How to Configure Treemap Leaf Node Labels
30.4.9.2
How to Configure Sunburst Node Labels
30.4.10
Configuring Sunburst Node Radius
30.4.10.1
How to Configure a Sunburst Node Radius
30.4.10.2
What You May Need to Know about Configuring the Sunburst Node Radius
30.4.11
Configuring Treemap Node Headers and Group Gap Display
30.4.11.1
How to Configure Treemap Node Headers
30.4.11.2
What You May Need to Know About Treemap Node Headers
30.4.11.3
How to Customize Treemap Group Gaps
30.5
Adding Interactive Features to Treemaps and Sunbursts
30.5.1
Configuring Treemap and Sunburst Tooltips
30.5.2
Configuring Treemap and Sunburst Popups
30.5.2.1
How to Add Popups to Treemap and Sunburst Components
30.5.2.2
What You May Need to Know About Adding Popups to Treemaps and Sunburst Components
30.5.3
Configuring Treemap and Sunburst Selection Support
30.5.3.1
How to Add Selection Support to Treemap and Sunburst Components
30.5.3.2
What You May Need to Know About Adding Selection Support to Treemaps and Sunbursts
30.5.4
Configuring Treemap and Sunburst Context Menus
30.5.4.1
How to Configure Treemap and Sunburst Context Menus
30.5.4.2
What You May Need to Know About Configuring Treemap and Sunburst Context Menus
30.5.5
Configuring Treemap and Sunburst Drilling Support
30.5.5.1
How to Configure Treemap and Sunburst Drilling Support
30.5.5.2
What You May Need to Know About Treemaps and Drilling Support
30.5.6
How to Add Drag and Drop to Treemaps and Sunbursts
30.5.7
Configuring Isolation Support (Treemap Only)
30.5.7.1
How to Disable Isolation Support
30.5.7.2
What You May Need to Know About Treemaps and Isolation Support
Part VI Completing Your View
31
Customizing the Appearance Using Styles and Skins
31.1
About Customizing the Appearance Using Styles and Skins
31.1.1
Customizing the Appearance Use Cases and Examples
31.1.2
Additional Functionality for Customizing the Appearance
31.2
Changing the Style Properties of a Component
31.2.1
How to Set an Inline Style
31.2.2
How to Set a Style Class
31.3
Enabling End Users to Change an Application's ADF Skin
31.3.1
How to Enable End Users Change an Application's ADF Skin
31.3.2
What Happens at Runtime: How End Users Change an Application's ADF Skin
32
Internationalizing and Localizing Pages
32.1
About Internationalizing and Localizing ADF Faces Pages
32.1.1
Internationalizing and Localizing Pages Use Cases and Examples
32.1.2
Additional Functionality for Internationalizing and Localizing Pages
32.2
Using Automatic Resource Bundle Integration in JDeveloper
32.2.1
How to Set Resource Bundle Options
32.2.2
What Happens When You Set Resource Bundle Options
32.2.3
How to Create an Entry in a JDeveloper-Generated Resource Bundle
32.2.4
What Happens When You Create an Entry in a JDeveloper-Generated Resource Bundle
32.3
Manually Defining Resource Bundles and Locales
32.3.1
How to Create a Resource Bundle as a Property File or an XLIFF File
32.3.2
How to Create a Resource Bundle as a Java Class
32.3.3
How to Edit a Resource Bundle File
32.3.4
How to Register a Locale for Your Application
32.3.5
How to Register a Resource Bundle in Your Application
32.3.6
How to Use Resource Bundles in Your Application
32.3.7
What You May Need to Know About ADF Skins and Control Hints
32.3.8
What You May Need to Know About Overriding a Resource Bundle in a Customizable Application
32.4
Configuring Pages for an End User to Specify Locale at Runtime
32.4.1
How to Configure a Page for an End User to Specify Locale
32.4.2
What Happens When You Configure a Page to Specify Locale
32.4.3
What Happens at Runtime: How an End User Specifies a Locale
32.5
Configuring Optional ADF Faces Localization Properties
32.5.1
How to Configure Optional Localization Properties
33
Developing Accessible ADF Faces Pages
33.1
About Accessibility Support In ADF Faces
33.1.1
ADF Faces Accessibility Support Use Cases and Examples
33.1.2
Additional Information for Accessibility Support in ADF Pages
33.2
Configuring Accessibility Support In ADF Faces
33.2.1
Accessibility Support Guidelines at Sign-In
33.2.2
How to Configure Accessibility Support in trinidad-config.xml
33.3
Specifying Component-Level Accessibility Properties
33.3.1
ADF Faces Component Accessibility Guidelines
33.3.2
Using ADF Faces Table Components in Screen Reader Mode
33.3.3
ADF Data Visualization Components Accessibility Guidelines
33.3.4
How to Define Access Keys for an ADF Faces Component
33.3.5
How to Define Localized Labels and Access Keys
33.4
Creating Accessible Pages
33.4.1
How to Use Partial Page Rendering
33.4.2
How to Use Scripting
33.4.3
How to Use Styles
33.4.4
How to Use Page Structures and Navigation
33.4.5
How to Use Images and Tables
33.4.6
How to Use WAI-ARIA Landmark Regions
33.5
Running Accessibility Audit Rules
33.5.1
How to Create an Audit Profile
33.5.2
How to Run Audit Report
34
Allowing User Customization on JSF Pages
34.1
About User Customization
34.1.1
User Customization Use Cases and Examples
34.2
Implementing Session Change Persistence
34.2.1
How to Implement Session Change Persistence
34.2.2
What Happens When You Configure Your Application to Use Change Persistence
34.2.3
What Happens at Runtime: How Changes are Persisted
34.2.4
What You May Need to Know About Using Change Persistence on Templates and Regions
35
Adding Drag and Drop Functionality
35.1
About Drag and Drop Functionality
35.1.1
Additional Functionality for Drag and Drop
35.2
Adding Drag and Drop Functionality for Attributes
35.2.1
How to add Drag and Drop Functionality
35.3
Adding Drag and Drop Functionality for Objects
35.3.1
How to Add Drag and Drop Functionality for a Single Object
35.3.2
What Happens at Runtime: How to Use Keyboard Modifiers
35.3.3
What You May Need to Know About Using the ClientDropListener
35.4
Adding Drag and Drop Functionality for Collections
35.4.1
How to Add Drag and Drop Functionality for Collections
35.4.2
What You May Need to Know About the dragDropEndListener
35.5
Adding Drag and Drop Functionality for Components
35.5.1
How to Add Drag and Drop Functionality for Components
35.6
Adding Drag and Drop Functionality Into and Out of a panelDashboard Component
35.6.1
How to Add Drag and Drop Functionality Into a panelDashboard Component
35.6.2
How to Add Drag and Drop Functionality Out of a panelDashboard Component
35.7
Adding Drag and Drop Functionality to a Calendar
35.7.1
How to Add Drag and Drop Functionality to a Calendar
35.7.2
What You May Need to Know About Dragging and Dropping in a Calendar
35.8
Adding Drag and Drop Functionality for DVT Components
35.8.1
Adding Drop Functionality for DVT Pareto and Stock Graphs
35.8.1.1
How to Add Drop Functionality to Pareto and Stock Graphs
35.8.2
Adding Drag and Drop Functionality for DVT Gantt Charts
35.8.2.1
How to Add Drag and Drop Functionality for a DVT Gantt Component
35.8.3
Adding Drag and Drop Functionality for DVT Hierarchy Viewers, Sunbursts, and Treemaps
35.8.3.1
Drag and Drop Example for DVT Hierarchy Viewers
35.8.3.2
Drag and Drop Example for DVT Sunbursts
35.8.3.3
Drag and Drop Example for DVT Treemaps
35.8.3.4
How to Add Drag and Drop Functionality for a DVT Hierarchy Viewer, Sunburst, or Treemap Component
35.8.4
Adding Drag and Drop Functionality for Timeline Components
36
Using Different Output Modes
36.1
About Using Different Output Modes
36.1.1
Output Mode Use Cases
36.2
Displaying a Page for Print
36.2.1
How to Use the showPrintablePageBehavior Tag
36.3
Creating Emailable Pages
36.3.1
How to Create an Emailable Page
36.3.2
How to Test the Rendering of a Page in an Email Client
36.3.3
What Happens at Runtime: How ADF Faces Converts JSF Pages to Emailable Pages
37
Using the Active Data Service with an Asynchronous Backend
37.1
About the Active Data Service
37.1.1
Active Data Service Use Cases and Examples
37.2
Process Overview for Using Active Data Service
37.3
Implementing the ActiveModel Interface in a Managed Bean
37.4
What You May Need to Know About Maintaining Read Consistency
37.5
Passing the Event Into the Active Data Service
37.6
Registering the Data Update Event Listener
37.7
Configuring the ADF Component to Display Active Data
Part VII Appendixes
A
ADF Faces Configuration
A.1
About Configuring ADF Faces
A.2
Configuration in web.xml
A.2.1
How to Configure for JSF and ADF Faces in web.xml
A.2.2
What You May Need to Know About Required Elements in web.xml
A.2.3
What You May Need to Know About ADF Faces Context Parameters in web.xml
A.2.3.1
State Saving
A.2.3.2
Debugging
A.2.3.3
File Uploading
A.2.3.4
Resource Debug Mode
A.2.3.5
User Customization
A.2.3.6
Enabling the Application for Real User Experience Insight
A.2.3.7
Assertions
A.2.3.8
Dialog Prefix
A.2.3.9
Compression for CSS Class Names
A.2.3.10
Control Caching When You Have Multiple ADF Skins in an Application
A.2.3.11
Test Automation
A.2.3.12
UIViewRoot Caching
A.2.3.13
Themes and Tonal Styles
A.2.3.14
Partial Page Rendering
A.2.3.15
Partial Page Navigation
A.2.3.16
Postback Payload Size Optimization
A.2.3.17
JavaScript Partitioning
A.2.3.18
Framebusting
A.2.3.19
Version Number Information
A.2.3.20
Suppressing Auto-Generated Component IDs
A.2.3.21
ADF Faces Caching Filter
A.2.3.22
Configuring Native Browser Context Menus for Command Links
A.2.3.23
Internet Explorer Compatibility View Mode
A.2.3.24
Session Timeout Warning
A.2.3.25
JSP Tag Execution in HTTP Streaming
A.2.3.26
Clean URLs
A.2.3.27
Page Loading Splash Screen
A.2.3.28
Graph and Gauge Image Format
A.2.3.29
Geometry Management for Layout and Table Components
A.2.3.30
Scrollbar Behavior in Tables
A.2.3.31
Production Project Stage
A.2.4
What You May Need to Know About Other Context Parameters in web.xml
A.3
Configuration in faces-config.xml
A.3.1
How to Configure for ADF Faces in faces-config.xml
A.4
Configuration in adf-config.xml
A.4.1
How to Configure ADF Faces in adf-config.xml
A.4.2
Defining Caching Rules for ADF Faces Caching Filter
A.4.3
Configuring Flash as Component Output Format
A.4.4
Using Content Delivery Networks
A.4.4.1
What You May Need to Know About Skin Style Sheets and CDN
A.4.4.2
What You May Need to Know About Preparing Your Resource Files for CDNs
A.5
Configuration in adf-settings.xml
A.5.1
How to Configure for ADF Faces in adf-settings.xml
A.5.2
What You May Need to Know About Elements in adf-settings.xml
A.5.2.1
Help System
A.5.2.2
Caching Rules
A.6
Configuration in trinidad-config.xml
A.6.1
How to Configure ADF Faces Features in trinidad-config.xml
A.6.2
What You May Need to Know About Elements in trinidad-config.xml
A.6.2.1
Animation Enabled
A.6.2.2
Skin Family
A.6.2.3
Time Zone and Year
A.6.2.4
Enhanced Debugging Output
A.6.2.5
Page Accessibility Level
A.6.2.6
Language Reading Direction
A.6.2.7
Currency Code and Separators for Number Groups and Decimal Points
A.6.2.8
Formatting Dates and Numbers Locale
A.6.2.9
Output Mode
A.6.2.10
Number of Active PageFlowScope Instances
A.6.2.11
File Uploading
A.6.2.12
Custom File Uploaded Processor
A.6.2.13
Client-Side Validation and Conversion
A.6.3
What You May Need to Know About Configuring a System Property
A.7
Configuration in trinidad-skins.xml
A.8
Using the RequestContext EL Implicit Object
A.9
Performance Tuning
B
Message Keys for Converter and Validator Messages
B.1
About ADF Faces Default Messages
B.2
Message Keys and Setter Methods
B.3
Converter and Validator Message Keys and Setter Methods
B.3.1
af:convertColor
B.3.2
af:convertDateTime
B.3.3
af:convertNumber
B.3.4
af:validateByteLength
B.3.5
af:validateDateRestriction
B.3.6
af:validateDateTimeRange
B.3.7
af:validateDoubleRange
B.3.8
af:validateLength
B.3.9
af:validateRegExp
C
Keyboard Shortcuts
C.1
About Keyboard Shortcuts
C.2
Tab Traversal
C.2.1
Tab Traversal Sequence on a Page
C.2.2
Tab Traversal Sequence in a Table
C.3
Shortcut Keys
C.3.1
Accelerator Keys
C.3.2
Access Keys
C.3.3
Shortcut Keys for Common Components
C.3.4
Shortcut Keys for Widgets
C.3.5
Shortcut Keys for Screen Reader Mode
C.3.6
Shortcut Keys for Rich Text Editor Component
C.3.7
Shortcut Keys for Table, Tree, and Tree Table Components
C.3.8
Shortcut Keys for Table, Tree, and Tree Table Components in Screen Reader Mode
C.3.9
Shortcut Keys for ADF Data Visualization Components
C.3.10
Shortcut Keys for Calendar Component
C.3.11
Shortcut Keys for Calendar Component in Screen Reader Mode
C.4
Default Cursor or Focus Placement
C.5
The Enter Key
D
Creating Web Applications for Touch Devices Using ADF Faces
D.1
Introduction to Creating Web Applications for Touch Devices Using ADF Faces
D.2
How ADF Faces Behaves in Mobile Browsers on Touch Devices
D.3
Best Practices When Using ADF Faces Components in a Mobile Browser
E
Quick Start Layout Themes
F
Code Samples
F.1
Samples for Chapter 4, "Using ADF Faces Client-Side Architecture"
F.1.1
The adf-js-partitions.xml File
F.2
Samples for Chapter 30, "Using Treemap and Sunburst Components"
F.2.1
Sample Code for Treemap and Sunburst Census Data Example
F.2.2
Code Sample for Sunburst Managed Bean
G
Troubleshooting ADF Faces
G.1
About Troubleshooting ADF Faces
G.2
Getting Started with Troubleshooting the View Layer of an ADF Application
G.3
Resolving Common Problems
G.3.1
Application Displays an Unexpected White Background
G.3.2
Application is Missing Expected Images
G.3.3
ADF Skin Does Not Render Properly
G.3.4
ADF Data Visualization Components Fail to Display as Expected
G.3.5
High Availability Application Displays a NotSerializableException
G.3.6
Unable to Reproduce Problem in All Web Browsers
G.3.7
Application is Missing Content
G.3.8
Browser Displays an ADF_Faces-60098 Error
G.3.9
Browser Displays an HTTP 404 or 500 Error
G.3.10
Browser Fails to Navigate Between Pages
G.4
Using My Oracle Support for Additional Troubleshooting Information
H
Using Graph Components
H.1
About the Graph Component
H.1.1
Graph Component Use Cases and Examples
H.1.2
End User and Presentation Features
H.1.2.1
Graph Layout
H.1.2.2
Sizing
H.1.2.3
Image Formats
H.1.2.4
Data Marker Selection
H.1.2.5
Context Menus
H.1.2.6
Reference Areas/Line and Alerts
H.1.2.7
Hide and Show Series
H.1.2.8
Annotations
H.1.2.9
Popup Support
H.1.2.10
Time Selector
H.1.2.11
Bi-directional Support
H.1.2.12
Drag and Drop
H.1.2.13
Screen Reader Support
H.1.3
Additional Functionality for Graph Components
H.2
Using the Graph Component
H.2.1
Graph Type Data Requirements
H.2.2
Configuring Graphs
H.2.3
How to Add a Graph to a Page
H.2.4
What Happens When You Add a Graph to a Page
H.2.5
How to Create a Graph Using Tabular Data
H.2.6
What You May Need to Know About Graph Image Formats
H.2.7
Editing Graphs in the Visual Editor and Properties window
H.3
Customizing Graph Display Elements
H.3.1
Changing Graph Size and Style
H.3.1.1
How to Specify the Size of a Graph at Initial Display
H.3.1.2
How to Provide for Dynamic Resizing of a Graph
H.3.1.3
How to Use a Specific Style Sheet for a Graph
H.3.2
Changing Graph Background, Plot Area, and Title
H.3.2.1
How to Customize the Background and Plot Area of a Graph
H.3.2.2
How to Specify Titles and Footnotes in a Graph
H.3.3
How to Customize Graph Axes and Labels
H.3.3.1
How to Specify the Title, Appearance, and Scaling of an Axis
H.3.3.2
Specifying Scrolling on an Axis
H.3.3.3
How to Control the Appearance of Tick Marks and Labels on an Axis
H.3.3.4
Formatting Numbers on an Axis
H.3.3.5
How to Set Minimum and Maximum Values on a Data Axis
H.3.4
How to Customize Graph Legends
H.3.5
Customizing Tooltips in Graphs
H.4
Formatting Graph Text, Colors, and Data Values
H.4.1
Formatting Text in Graphs
H.4.1.1
What You May Need to Know About Skinning and Formatting Text in Graphs
H.4.2
Specifying Transparent Colors for Parts of a Graph
H.4.3
Using Gradient Special Effects in Graphs
H.4.3.1
How to Add Gradient Special Effects to a Graph
H.4.3.2
What Happens When You Add a Gradient Special Effect to a Graph
H.4.4
Formatting Data Values in Graphs
H.4.4.1
How to Format Categorical Data Values
H.4.4.2
How to Format Numerical Data Values
H.4.4.3
What You May Need to Know About Automatic Scaling and Precision
H.5
Customizing the Appearance of Series and Groups of Data
H.5.1
Changing the Color, Style, and Display of Graph Data Values
H.5.1.1
How to Specify the Color and Style for Individual Series Items
H.5.1.2
How to Enable Hiding and Showing Series Items
H.5.2
Changing the Appearance of Lines in Graphs
H.5.2.1
Displaying Either Data Lines or Markers in Graphs
H.5.2.2
Changing the Appearance of Lines in a Graph Series
H.5.3
How to Customize Pareto Graphs
H.5.4
Adding Reference Lines or Areas to Graphs
H.5.4.1
How to Create Reference Lines or Areas During Design
H.5.4.2
What Happens When You Create Reference Lines or Areas During Design
H.5.4.3
How to Create Reference Lines or Areas Dynamically
H.6
Animating Graphs
H.6.1
Specifying Animation Effects for Graphs
H.7
Adding Special Effects to Graphs
H.7.1
How to Provide Marker and Legend Dimming
H.7.2
How to React to Changes in the Zoom and Scroll Levels
H.7.3
Providing an Interactive Time Axis for Graphs
H.7.3.1
How to Define a Relative Range of Time Data for Display
H.7.3.2
How to Define an Explicit Range of Time Data for Display
H.7.3.3
How to Add a Time Selector to a Graph
H.7.4
Adding Alerts and Annotations to Graphs
H.7.4.1
How to Add Alerts to Graphs
H.7.4.2
Adding Annotations to Graphs
H.7.5
How to Add Drop Functionality to Pareto and Stock Graphs
H.7.6
How to Add Popups to Graphs
H.7.7
Adding Data Marker Selection Support for Graphs
H.7.7.1
How to Add Selection Support to Graphs
H.7.7.2
What You May Need to Know About Graph Data Marker Selection
H.7.8
Configuring Graph Context Menus
H.7.8.1
What You Many Need to Know About Configuring Graph Context Menus
Scripting on this page enhances content navigation, but does not change the content in any way.