Course duration
- 4 days
Course Benefits
- Understand the shortcomings of servlets/JSP, and the need for a framework like JSF
- Understand MVC and the JSF architecture
- Create & configure applications using JSF, including the FacesServlet, and the faces-config.xml file
- Understand and use Managed Beans to manage application data
- Configure navigation rules for your Web application
- Use facelets to create JSF2 Web pages
- Use the JSF core and html tags and the JSF expression language
- Lay out tables using the JSF h:datatable and associated tags
- Handle action events, value change events, and data model events
- Use JSF Validators to validate your input data
- Understand and use JSF data conversion
- Use composition to create custom tags and templates
- Understand the JSF request lifecycle, and write phase listeners
- Use JSF’s Ajax capabilities
- Be familiar Faces Flow at a high level, and use it for page flow
- Understand and use the JSF HTML 5 integration
Public expert-led online training from the convenience of your home, office or anywhere with an internet connection. Guaranteed to run .
Private classes are delivered for groups at your offices or a location of your choice.
Course Outline
- Overview of Java EE and Java Web Applications
- Java EE and Web App Overview
- Servlet, Servlet Scopes
- JSPs, JSP Lifecycle
- Custom Tags, Tag Libraries, taglib directive
- Model View Controller
- Getting started with JSF
- JSF Overview
- Purpose and Goals
- JSF Architecture
- JSF Views - facelets and JSP Pages
- Managed Beans, Controler, configuration
- Downloading and Installing JSF
- Your first JSF Application - setup, configuration, deployment
- Server setup and use
- Managed Beans
- Defining a Managed Bean (annotation-based and configuration in faces-config.xm)
- Managed Bean Lifecycle
- Managed Beans and JSF Forms
- Managed Beans as Value Binding Expressions
- JSF Expression Language (EL) & the Unified EL (JSF 1.2)
- Value Binding Expressions
- Method Binding Expressions
- Implicit Objects
- JSF Navigation
- <navigation-rule> configuration issues
- <navigation-case> and nested elements
- How to use the navigation rules
- Facelets and JSF Tag Libraries
- Facelet Introduction and Life Cycle
- JSF Tag Library Overview
- JSF Core tags <f:tagName>
- JSF HTML tags <h:tagName>
- Using the Most Common Form controls – TextFields, Buttons, Links …
- h:dataTable
- <h:dataTable> tag and nested tags <h:column> etc.
- Working with collections of type List or array
- Table headers and footers, f:facet
- More about JSF Tags
- Using <h:commandLink> and <h:outputLink>
- Using the h:selectXxx Tags (e.g h:selectManyListbox)
- JSF Event Model (Action, Value Change, and Data Model Listeners)
- Session 8: JSF Data Validation
- Standard Validators
- required, validateDoubleRange, validateLongRange
- Creating, configuring, and using Custom Validators
- JSF Data Conversion
- Standard JSF Converters
- convertDateTime, convertNumber - configuration and usage
- Custom Converters
- Templates
- Layout Issues in Web Pages
- Using Templates with Facelets
- Creating Custom Composite Components
- JSF Lifecycle
- Lifecycle Overview
- Initial requests and postbacks
- Restore View, Apply Request Values, Process Events, Process Validations, Update Model Values, Invoke Application, Render Response
- renderResponse() and renderComplete()
- Phase listeners
- Additional Topics
- Backing Beans / UIComponents
- JSF and CSS
- JSF and JavaScript
- Localization and Resource Bundles
- JSF and Ajax
- Ajax Overview
- Using f:ajax
- Event Triggers for "Ajax-ified" Components
- Listener Methods
- Composite Components
- Overview
- Using composite:interface, composite:attribute, and composite:implementation
- Passing Managed Beans and Methods to a Component
- Adding Listeners and Actions
- JSP Pages and JSF
- JSP Overview
- Create JSF Pages Using JSP
- Introducing Faces Flow
- Overview
- A Simple Flow
- XML Flow Configuration
- Java Flow Configuration
- Flow Scoped Data
- Nested Flows
- JSF and HTML 5
- Overview
- Pass-Through Attributes
- Pass-Through Elements
Class Materials
Each student will receive a comprehensive set of materials, including course notes and all the class examples.
Experience in the following is required for this Java class:
- Working knowledge of Java programming, including use of inheritance, interfaces, and exceptions.
Instructor-led courses are offered via a live Web connection, at client sites throughout Europe, and at our Geneva Training Center.