JSF Overview
- Model View Controller
- JSF elements – web.xml and faces-config.xml
- The power of Facelets
- tile-like composition
- debugging/error handling
- custom logic tags and expressions
- XHTML
- JSF 2.0 – quick summary of features
- Annotations – a review
GUI Components 1
- Component Families
- UIViewRoot and the FacesContext
- The JSF lifecycle
- GET vs. POST(JSF 2.0)
- Facelets pages
- Output components – text and labels
- Forms
- Formatting output
- Inputting text and passwords
- Messages and severity
Navigation in JSF applications
- Navigation rules and cases via annotations
- Static vs. dynamic actions
- Declaring navigation in faces-config.xml
- JSF Expression Language
- Comparison to JSP EL
- Basic syntax
- Array, Map and List access in JSF EL
- JSF EL Operators
- JSF EL Implicit Objects
- Backing Beans
- The uses of backing beans
- Declaring managed beans and properties via annotations
- Managed beans and properties in faces-config.xml
- Lists and Maps properties in Managed Beans
- Using the FacesContext
- Action methods in backing beans
- Connecting to back-end services
- business logic
- persistence
Conversion and Validation
- Conversion and Validation in the JSF Lifecycle
- Implicit and explicit conversion
- Date/Time conversion
- Number conversion
- Standard input validators
- Implementing validation in backing beans
- Displaying conversion/validation error messages
- Custom converters and validators
- Client-side validation
JSF Events
- The phases of JSF
- Restore View
- Apply Request Values
- Process Validations
- Update Model Values
- Invoke Application
- Render Response
- GET vs. POST
- creating the view tree
- rendering the existing view tree
- Page actions (JSF 2.0)
- Action Events
- Action methods and Action Listeners
- Methods of ActionEvent and UIComponent
- Value Change Events
- Methods of ValueChangeEvent
- Phase Events
- Registering a Phase Listener
- Specifying which requests are handled by the Phase Listener
- Data Model Events
GUI Components 2
- Selecting items from lists
- Checkboxes and radio buttons
- Command Buttons and Command links
- Panel Group and Panel Grid
- Data Tables
- display-only data tables
- “interactive” data tables
- Using the component in a JSP
Page composition using Facelets
- Templating
- creating a Facelets template
- creating a Facelets client page
- creating a Facelets content page
- Passing parameters to pages
- Facelets and JSTL
- Facelets composition components
- defining a composition component
- using a composition component
- tips and tricks
- Using other tag libraries
- taglibs supporting Facelets.