JBoss RichFaces 3.3

JBoss RichFaces 3.3
eBook: $23.99
Formats: PDF, PacktLib, ePub and Mobi formats
save 15%!
Print + free eBook + free PacktLib access to the book: $63.98    Print cover: $39.99
save 37%!
Free Shipping!
UK, US, Europe and selected countries in Asia.
Also available on:
Table of Contents
Sample Chapters
  • Build a new RichFaces JSF project in minutes using JBoss RichFaces with JBoss Seam and Facelets
  • Customize the look-and-feel of your JSF applications with Skinnability
  • Integrate AJAX into your applications without using JavaScript
  • Create, customize, and deploy new skins for the RichFaces framework using the powerful plug'n'skin feature

Book Details

Language : English
Paperback : 320 pages [ 235mm x 191mm ]
Release Date : October 2009
ISBN : 1847196888
ISBN 13 : 9781847196880
Author(s) : Demetrio Filocamo
Topics and Technologies : All Books, Application Development, Java, Open Source, Web Development


Table of Contents

Chapter 1: What is RichFaces?
Chapter 2: Getting Ready
Chapter 3: First Steps
Chapter 4: The Application
Chapter 5: Making the Application Structure
Chapter 6: Making the Contacts List and Detail
Chapter 7: Finishing the Application
Chapter 8: Skin Customization
Chapter 9: Creating a New plug 'n' skin
Chapter 10: Advanced Techniques
Chapter 11: Component Development Kit
Appendix: RichFaces Components Overview
  • Chapter 1: What is RichFaces?
    • An overview of RichFaces
    • A bit of history
    • The Ajax framework
      • Ajax Action Components
      • Ajax Containers
      • Ajax placeholders
      • Ajax validators
    • RichFaces components overview
    • RichFaces skinnability overview
    • Summary
  • Chapter 2: Getting Ready
    • Creating a RichFaces JSF project the simple way
      • Seam-gen
        • Download and install seam-gen
        • Generating a project using seam-gen
      • Overview of the project structure
        • Incremental hot deployment
      • Seam and Facelets support
    • Adding RichFaces manually to your existing JSF project
      • Downloading RichFaces
      • Basic configuration
        • Where to put the libraries
      • Registering RichFaces
      • Facelets support
    • IDEs
      • Eclipse/JBoss Tools
        • Where to download and how to install it
        • JBoss Developer Studio
        • Importing a seam-gen generated project into Eclipse
      • IntelliJ Idea
        • Where to download and how to install it
    • Summary
  • Chapter 3: First Steps
    • A simple contact manager
      • Creating the new project
      • Templating and Facelets
      • Modifying the created project
      • The model
      • The managed bean
        • Making it a managed bean
      • The "Insert new contact" form
        • The main box
        • The form fields
        • Ajax command buttons: a4j:commandButton
        • Ajax command links: a4j:commandLink
      • The contact list
      • Re-rendering the contact list after adding a new contact
      • Adding the delete button
    • Summary
  • Chapter 4: The Application
    • What we are going to develop?
      • Features
        • Groups manager
        • File uploads and notes
        • Simple search
        • User skin
        • Multilanguage
    • The database: E-R diagram
    • Importing the database
    • Creating the project
    • The class diagram
      • Some modification to the entities
      • Editing the template page
    • The menu page
    • The login page
    • The home page
    • Summary
  • Chapter 5: Making the Application Structure
    • Skinnability and dynamic skin change
      • Selecting the application skin
      • User-selected application skin
        • Passing application parameters using components.xml
        • Making skin selection user-dependent
      • Standard controls skinning
      • XCSS and Plug-n-Skin
        • Adding built-in plug'n'skin skins
      • Some examples
    • Internationalization
      • Configuration
      • Internationalize strings
      • User-selected language
        • Persist the selected locale using a cookie
    • Menu bar using rich:toolBar component
    • Making the login work
    • User registration
      • Creating the page structure
      • Creating the support bean
      • Creating the form fields and action buttons
      • Adding the validation rules
      • Adding the sign up link to the menu bar
      • Validating the password against another "Rewrite password" field
      • Making your own validators
      • Using a captcha
        • Resetting the captcha
      • Automatic login after registration
      • Sending the confirmation emails
      • Screenshot
    • Reset password box
    • Forgot username box
    • URL rewriting: making it simple and powerful
    • Summary
  • Chapter 6: Making the Contacts List and Detail
    • The main layout
      • Ajax placeholders
      • The groups box
    • The contacts list
      • Differences between h:dataTable and rich:dataTable
      • Data pagination
      • Adding the column headers
      • Columns and column groups
      • Out-of-the-box filtering and sorting
      • The bottom toolbar
      • The backing bean
    • The contact detail
      • The support bean
      • Selecting the contact from the contacts list
      • Adding a new contact
      • Viewing contact detail
      • Editing contact detail
        • The button toolbar
      • The ajaxSingle and the process attributes
      • More Ajax!
      • Ajax containers
      • Data iteration using RichFaces
        • Data pagination with data iteration components
      • Addresses management
      • Some screenshots
    • Summary
  • Chapter 7: Finishing the Application
    • Taking a note of every contact
      • A richer editor
    • Let's group our contacts
      • Listing, adding, and removing groups
        • Other features of the rich:toolTip component
        • Adding and editing groups
        • The adding/editing form
      • Adding contacts to a group using the drag 'n' drop
      • Removing contacts from a group using drag'n'drop
    • Attaching files
      • Creating the wizard
        • The file review step
      • Creating the modal panel
        • Control components without JavaScript
      • Inserting the wizard inside the modal panel
      • Finishing the file upload feature
    • Summary
  • Chapter 8: Skin Customization
    • Skinnability
    • Customize skin parameters
      • Edit a basic skin
      • Using CSS
        • Redefine the skin-inserted CSS classes
        • Specify our specific CSS classes
    • Using skins with non-skinnable components
      • Standard controls skinning
      • XCSS
    • Summary
  • Chapter 10: Advanced Techniques
    • Poll
      • Creating images dynamically
    • Push
    • Creating a RichFaces JavaScript function
    • Partial update of data iteration components
    • RichFaces component binding in JBoss Seam / JBoss Application Server environment
      • Moving all the libraries to the EAR
      • A simple binding example
    • The tree component
      • State saving
      • Action listeners
    • Controlling the session expiration
    • Summary
  • Chapter 11: Component Development Kit
    • Configuring the environment
      • Installing Maven
      • Configuring
    • Creating the project
      • Generating the template
      • Testing the template
    • Creating the component
      • Component configuration
      • Component resources
      • Component renderer
    • Testing the new component
    • Summary
  • Appendix: RichFaces Components Overview
    • Ajax support
      • a4j:ajaxListener
      • a4j:actionparam
      • a4j:commandButton
      • a4j:commandLink
      • a4j:form
      • a4j:htmlCommandLink
      • a4j:jsFunction
      • a4j:poll
      • a4j:push
      • a4j:region
      • a4j:status
      • a4j:support
    • Resources/beans handling
      • a4j:keepAlive
      • a4j:loadBundle
      • a4j:loadScript
      • a4j:loadStyle
    • Ajax Validators
      • rich:ajaxValidator
      • rich:graphValidator
      • rich:beanValidator
    • Ajax output
      • a4j:include
      • a4j:mediaOutput
      • a4j:outputPanel
    • Ajax miscellaneous
      • a4j:log
      • a4j:page
      • a4j:portlet
    • Data iteration
      • a4j:repeat
      • rich:columns
      • rich:columnGroup
      • rich:column
      • rich:dataGrid
      • rich:dataList
      • rich:dataOrderedList
      • rich:dataDefinitionList
      • rich:dataFilterSlider
      • rich:datascroller
      • rich:dataTable
      • rich:subTable
      • rich:extendedDataTable
      • rich:scrollableDataTable
    • Drag-and-drop support
      • rich:dndParam
      • rich:dragIndicator
      • rich:dragSupport
      • rich:dropSupport
      • rich:dragListener
      • rich:dropListener
    • Rich Menu
      • rich:contextMenu
      • rich:dropDownMenu
      • rich:menuGroup
      • rich:menuItem
      • rich:menuSeparator
    • Rich trees
      • rich:tree
      • rich:treeNode
      • rich:changeExpandListener
      • rich:nodeSelectListener
      • rich:recursiveTreeNodesAdaptor
      • rich:treeNodesAdaptor
    • Rich output
      • rich:modalPanel
      • rich:paint2D
      • rich:panel
      • rich:panelBar
      • rich:panelBarItem
      • rich:panelMenu
      • rich:panelMenuGroup
      • rich:panelMenuItem
      • rich:progressBar
      • rich:separator
      • rich:simpleTogglePanel
      • rich:spacer
      • rich:tabPanel
      • rich:tab
      • rich:togglePanel
      • rich:toggleControl
      • rich:toolBar
      • rich:toolBarGroup
      • rich:toolTip
    • Rich input
      • rich:calendar
      • rich:comboBox
      • rich:fileUpload
      • rich:inplaceInput
      • rich:inplaceSelect
      • rich:inputNumberSlider
      • rich:inputNumberSpinner
      • rich:suggestionbox
    • Rich Selects
      • rich:listShuttle
      • rich:orderingList
      • rich:pickList
    • Rich miscellaneous
      • rich:componentControl
      • rich:effect
      • rich:gmap
      • rich:virtualEarth
      • rich:hotKey
      • rich:insert
      • rich:jQuery
      • rich:message
      • rich:messages
    • JSF 2 and RichFaces 4
    • RichFaces 3.3.X
    • JSF 2.0
    • RichFaces 4.X

Demetrio Filocamo

Demetrio Filocamo is a computer science engineer with more then 10 years of experience on both Desktop and Web applications development. He works as a freelance in London and collaborates with some companies and universities in Italy. Demetrio has been developing Enterprise Java Applications using open source solutions for the last five years.

Code Downloads

Download the code and support files for this book.

Submit Errata

Please let us know if you have found any errors not listed on this list by completing our errata submission form. Our editors will check them and add them to this list. Thank you.


- 5 submitted: last submission 12 Nov 2013

Errata type: Code | Page number: 47

Line 8: Missing left angled bracket(<) at start of code.


Errata type: Code | Page number: 80

Class AppOptions is annotated as @Name("AppOptions"). It should be @Name("appOptions")


Errata type: Code | Page number: 106

In the code snippet following the last paragraph, "throws new ValidatorException" should be "throw new ValidatorException" without the 's'


Errata type: Code | Page number: 107

"boolean usernameExists = usernameExists((String) ); " should be boolean usernameExists = usernameExists((String) arg2);


Errata type: Code | Page number: 107

"#{messages['snet.validator.usernameExists']}",)); should be "#{messages['snet.validator.usernameExists']}", arg2));


Sample chapters

You can view our sample chapters and prefaces of this title on PacktLib or download sample chapters in PDF format.

Frequently bought together

JBoss RichFaces 3.3 +    BackTrack 5 Wireless Penetration Testing Beginner’s Guide =
50% Off
the second eBook
Price for both: £23.65

Buy both these recommended eBooks together and get 50% off the cheapest eBook.

What you will learn from this book

  • Create a simple project using the seam-gen tool, with the support of RichFaces, Seam and Facelets
  • Integrate the RichFaces libraries manually in your existing JSF project
  • Import a seam-gen-generated project into your workspace using Eclipse
  • Get AJAX JSF messaging support for JSF AJAX events using RichFaces message and messages components
  • Learn the basics of RichFaces, from creating the project to editing the code, using important components (like a4j:commandButton, a4j:commandLink, rich:dataTable, and rich:messages) and their AJAX properties (like reRender)
  • Develop a fully-featured advanced application for contact management using the RichFaces AJAX framework and its rich components
  • Develop the login and registration system for a web site, looking at all the features like skin management, registration page, login box, forgot username, reset password, captcha, and more
  • Optimize AJAX requests while developing a web application with JBoss RichFaces
  • Add and remove contacts from a group using the RichFaces drag-n-drop support
  • Customize the look of the application by changing the style of its existing skins using CSS and XCSS
  • Create new skins ready to be plugged into your application
  • Use and implement pushing, partial updates, component binding, session expiration handling, and more
  • Develop rich JSF components in a fast and solid way using CDK (Component Development Kit)

In Detail

JBoss RichFaces is a rich component library for JavaServer Faces and an AJAX framework that allows easy integration of AJAX capabilities into complex business applications. Do you wish to eliminate the time involved in writing JavaScript code and managing JavaScript-compatibility between browsers to build an AJAX web application quickly?

This book goes beyond the documentation to teach you how to do that. It will show you how to get the most out of JBoss RichFaces by explaining the key components and how you can use them to enhance your applications. Most importantly, you will learn how to integrate AJAX into your applications without using JavaScript but only standard JSF components. You will learn how to create and customize your own components and add them to your new or existing applications.

First, the book introduces you to JBoss RichFaces and its components. It uses many examples of AJAX components which, among others, include: Calendar, Data Table, ToolTip, ToolBar, Menu, RichEditor, Drag'n'Drop. All these components will help you create the web site you always imagined. Key aspects of the RichFaces framework such as the AJAX framework, skinnability, and CDK (Component Development Kit) will help you customize the look of your web application. As you progress through the book, you will see a sample application that shows you how to build an advanced contact manager. You're also going to be amazed to know about the advanced topics you will learn like developing new components, new skins, optimizing a web application, inserting components dynamically using Java instead of XHTML, and using JavaScript to manage components. This book is more than a reference with component example code: it's a manual that will guide you, step-by-step, through the development of a real AJAX JSF web application.

Develop a real AJAX web application productively using the RichFaces framework, Facelets, and Seam


This is a practical tutorial following the use of RichFaces in a sample application. It includes many examples of the creation and customization of different AJAX components.

Who this book is for

This book targets Java Developers who want to enhance their JSF applications by adding AJAX, but without having to use JavaScript. If you want to learn how to use the wide set of AJAX components that you find in the RichFaces framework, this book is for you.
You are expected to have basic knowledge of JSF, but no previous experience with AJAX is necessary.

Code Download and Errata
Packt Anytime, Anywhere
Register Books
Print Upgrades
eBook Downloads
Video Support
Contact Us
Awards Voting Nominations Previous Winners
Judges Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software
Open Source CMS Hall Of Fame CMS Most Promising Open Source Project Open Source E-Commerce Applications Open Source JavaScript Library Open Source Graphics Software