PrimeFaces Beginner's Guide
()
About this ebook
Related to PrimeFaces Beginner's Guide
Related ebooks
Mastering Eclipse Plug-in Development Rating: 0 out of 5 stars0 ratingsBuilding Websites with VB.NET and DotNetNuke 4 Rating: 1 out of 5 stars1/5Node Web Development, Second Edition Rating: 0 out of 5 stars0 ratingsEclipse Plug-in Development: Beginner's Guide - Second Edition Rating: 0 out of 5 stars0 ratingsNode.js 6.x Blueprints Rating: 0 out of 5 stars0 ratingsSpring Cookbook Rating: 0 out of 5 stars0 ratingsAngularJS Web Application Development Cookbook Rating: 0 out of 5 stars0 ratingsjBPM6 Developer Guide Rating: 0 out of 5 stars0 ratingsMastering jBPM6 Rating: 0 out of 5 stars0 ratingsPentaho 3.2 Data Integration Beginner's Guide Rating: 0 out of 5 stars0 ratingsMastering Web Application Development with Express Rating: 0 out of 5 stars0 ratingsSpring MVC Blueprints Rating: 0 out of 5 stars0 ratingsMongoDB Cookbook - Second Edition Rating: 0 out of 5 stars0 ratingsMVVM Survival Guide for Enterprise Architectures in Silverlight and WPF Rating: 0 out of 5 stars0 ratingsHeroku Cloud Application Development Rating: 0 out of 5 stars0 ratingsASP.NET 2.0 Web Parts in Action: Building Dynamic Web Portals Rating: 0 out of 5 stars0 ratingsMastering Ext JS - Second Edition Rating: 0 out of 5 stars0 ratingsSpring MVC Beginner’s Guide Rating: 2 out of 5 stars2/5Mastering JavaServer Faces 2.2 Rating: 0 out of 5 stars0 ratingsJavaServer Faces: The Complete Reference Rating: 0 out of 5 stars0 ratingsEmber.js in Action Rating: 0 out of 5 stars0 ratingsSpring Integration Essentials Rating: 3 out of 5 stars3/5UNIX Programming: UNIX Processes, Memory Management, Process Communication, Networking, and Shell Scripting Rating: 0 out of 5 stars0 ratingsMockito Essentials Rating: 3 out of 5 stars3/5Professional Visual Studio 2017 Rating: 0 out of 5 stars0 ratingsJDBC: Practical Guide for Java Programmers Rating: 0 out of 5 stars0 ratingsPHP Ajax Cookbook Rating: 2 out of 5 stars2/5Java Platform Enterprise Edition Java EE Complete Self-Assessment Guide Rating: 0 out of 5 stars0 ratingsSonar Code Quality Testing Essentials Rating: 0 out of 5 stars0 ratings
Internet & Web For You
How to Be Invisible: Protect Your Home, Your Children, Your Assets, and Your Life Rating: 4 out of 5 stars4/5No Place to Hide: Edward Snowden, the NSA, and the U.S. Surveillance State Rating: 4 out of 5 stars4/5How to Disappear and Live Off the Grid: A CIA Insider's Guide Rating: 0 out of 5 stars0 ratingsThe Beginner's Affiliate Marketing Blueprint Rating: 4 out of 5 stars4/5Coding For Dummies Rating: 5 out of 5 stars5/5Coding All-in-One For Dummies Rating: 4 out of 5 stars4/5Six Figure Blogging Blueprint Rating: 5 out of 5 stars5/5Get Rich or Lie Trying: Ambition and Deceit in the New Influencer Economy Rating: 0 out of 5 stars0 ratingsGrokking Algorithms: An illustrated guide for programmers and other curious people Rating: 4 out of 5 stars4/5Cybersecurity For Dummies Rating: 4 out of 5 stars4/5The Hacker Crackdown: Law and Disorder on the Electronic Frontier Rating: 4 out of 5 stars4/5Stop Asking Questions: How to Lead High-Impact Interviews and Learn Anything from Anyone Rating: 5 out of 5 stars5/5How To Start A Podcast Rating: 4 out of 5 stars4/5Social Engineering: The Science of Human Hacking Rating: 3 out of 5 stars3/5Wireless Hacking 101 Rating: 4 out of 5 stars4/5Podcasting For Dummies Rating: 4 out of 5 stars4/5Everybody Lies: Big Data, New Data, and What the Internet Can Tell Us About Who We Really Are Rating: 4 out of 5 stars4/5The Gothic Novel Collection Rating: 5 out of 5 stars5/5The Digital Marketing Handbook: A Step-By-Step Guide to Creating Websites That Sell Rating: 5 out of 5 stars5/5More Porn - Faster!: 50 Tips & Tools for Faster and More Efficient Porn Browsing Rating: 3 out of 5 stars3/5Remote/WebCam Notarization : Basic Understanding Rating: 3 out of 5 stars3/5How To Start A Profitable Blog: Turn Your Blogging Passion Into Profit (Blog Mastermind Booklets) Rating: 4 out of 5 stars4/5Introduction to Internet Scams and Fraud: Credit Card Theft, Work-At-Home Scams and Lottery Scams Rating: 4 out of 5 stars4/5The Cyber Attack Survival Manual: Tools for Surviving Everything from Identity Theft to the Digital Apocalypse Rating: 0 out of 5 stars0 ratingsHacking : The Ultimate Comprehensive Step-By-Step Guide to the Basics of Ethical Hacking Rating: 5 out of 5 stars5/5How To Make Money Blogging: How I Replaced My Day-Job With My Blog and How You Can Start A Blog Today Rating: 4 out of 5 stars4/5Six Figure Blogging In 3 Months Rating: 4 out of 5 stars4/5
Reviews for PrimeFaces Beginner's Guide
0 ratings0 reviews
Book preview
PrimeFaces Beginner's Guide - K. Siva Prasad Reddy
Table of Contents
PrimeFaces Beginner's Guide
Credits
About the Author
About the Reviewers
www.PacktPub.com
Support files, eBooks, discount offers and more
Why Subscribe?
Free Access for Packt account holders
Preface
What this book covers
What you need for this book
Who this book is for
Conventions
Time for action – heading
What just happened?
Reader feedback
Customer support
Downloading the example code
Errata
Piracy
Questions
1. Introduction to PrimeFaces
Introducing the features of PrimeFaces
Installing and configuring PrimeFaces
Time for action – installing and configuring PrimeFaces
What just happened?
Creating a HelloWorld application using PrimeFaces
Time for action – creating a HelloWorld program using PrimeFaces
What just happened?
Creating simple forms using PrimeFaces
Time for action – creating a user registration form
What just happened?
Performing form validations
Time for action – validating the user registration form
What just happened?
Performing client-side validations
Time for action – client-side e-mail validation
What just happened?
Understanding partial page rendering (PPR)
Time for action – partial processing on the user details form
What just happened?
Submitting partial data to the server
Updating the view using AJAX
Time for action – updating the view using AJAX
What just happened?
Updating the view using AJAX listeners
Time for action – validate the UserName using AJAX listeners
What just happened?
Performing tasks periodically using a poll component
Time for action – using the poll component to display the current time
What just happened?
Controlling the polling process using external triggers
Time for action – manually start and stop polling
What just happened?
Invoking server-side methods from JavaScript using RemoteCommand
Time for action – validate e-mail using RemoteCommand
What just happened?
Summary
2. Introducing Sample Application TechBuzz
Understanding the requirements of the TechBuzz application
Understanding the high-level design of the TechBuzz application
Understanding the TechBuzz data model
Looking at TechBuzz screenshots
User authentication
TechBuzz home page
User account screen
Creating a post screen
User roles management
Posts in tree view
Posts frequency charts
Setting up of the development environment for TechBuzz
Time for action – installing the required software
What just happened?
Summary
3. Using PrimeFaces Common Utility Components
Introducing the Message component
Time for action – displaying FacesMessage using
What just happened?
Displaying messages with HTML content
Time for action – displaying FacesMessage with HTML content
What just happened?
Introducing the Messages component
Time for action – displaying FacesMessage using
What just happened?
Displaying notifications using the growl component
Time for action – displaying FacesMessages with growl
What just happened?
Displaying tooltips using the Tooltip component
Time for action – displaying tooltip for UI components
What just happened?
Using global tooltips
Time for action – using global tooltips
What just happened?
Partial Processing and Rendering using the Fragment component
Time for action – using the Fragment component
What just happened?
Introducing the Sticky component
Introducing the RequestContext utility
Updating UI components
Time for action – updating UI components using RequestContext.update()
What just happened?
Executing JavaScript from server-side code
Time for action – executing JavaScript using RequestContext.execute()
What just happened?
Adding AJAX callback parameters
Time for action – adding callback parameters using RequestContext.addCallbackParam()
What just happened?
Scrolling to a component
Displaying pop-up dialogs using the Dialog component
Time for action – displaying a dialog
What just happened?
Using the Dialog component's client-side callbacks
Time for action – client-side callbacks for onShow and onHide
What just happened?
Handling the dialog close event
Time for action – the Dialog component close event listener
What just happened?
Working with a Dialog component containing forms
Time for action – creating dialog with a registration form
What just happened?
Introducing dialog framework
Time for action – showing the search users screen in dialog
What just happened?
Passing data from the dialog back to the source page
Time for action – passing data from the search users dialog to the source page
What just happened?
Displaying FacesMessage in dialog
Introducing the ConfirmDialog component
Time for action – creating a confirmation dialog
What just happened?
Using the global ConfirmDialog component
Displaying notifications using the NotificationBar component
Time for action – displaying notification messages
What just happened?
Hiding NotificationBar automatically
Time for action – automatically hiding NotificationBar
What just happened?
Blocking a region using the BlockUI component
Time for action – blocking the form
What just happened?
Understanding PrimeFaces selectors
Time for action – updating UI components using jQuery Selectors
What just happened?
Introducing the search expression framework
Summary
4. Introducing the PrimeFaces Client Side Validation Framework
Configuring and using the Client Side Validation framework
Time for action – performing client-side validations
What just happened?
Triggering client-side validations based on events
Supporting I18N for validation messages
Extending the CSV framework with custom JSF validators
Time for action – using the custom JSF validator on the client side
What just happened?
Extending the CSV framework with custom JSF converters
Time for action – using the custom JSF converter on the client side
What just happened?
Using the CSV framework with the Bean Validation API
Time for action – using the CSV framework with the Bean Validation API
What just happened?
Extending the CSV framework with custom Bean Validation annotations
Time for action – using the custom Bean Validation annotation with the CSV framework
What just happened?
Summary
5. Introducing Text Input Components
Getting text input with the InputText component
Time for action – using the InputText component
What just happened?
Introducing the InputTextarea component
Time for action – using InputTextarea
What just happened?
Getting formatted input using the InputMask component
Time for action – reading formatted input using InputMask
What just happened?
Introducing the Password component
Time for action – using password strength indicator and match mode
What just happened?
Introducing the Editor component
Time for action – using editor client-side API methods
What just happened?
Inplace editing using the Inplace component
Time for action – using the Inplace editor
What just happened?
Providing completion suggestions using the AutoComplete component
Time for action – using basic AutoComplete
What just happened?
Using AutoComplete with POJO support
Time for action – using AutoComplete with POJO support
What just happened?
Selecting multiple items
Time for action – selecting multiple items using AutoComplete
What just happened?
Handling the ItemSelect and ItemUnselect Events
Time for action – using the ItemSelect and ItemUnselect events
What just happened?
Displaying tooltips using the Itemtip facet
Time for action – displaying tooltips on suggested items using the Itemtip facet
What just happened?
Summary
6. Working with Selection Input Components
Creating the toggle button using SelectBooleanButton
Time for action – using the SelectBooleanButton component
What just happened?
Creating the On or Off options using SelectBooleanCheckbox
Time for action – using the SelectBooleanCheckbox component
What just happened?
Introducing SelectManyCheckbox
Time for action – using the SelectManyCheckbox component
What just happened?
Introducing SelectOneRadio
Time for action – using the SelectOneRadio component
What just happened?
Introducing SelectOneButton
Time for action – using the SelectOneButton component
What just happened?
Introducing SelectManyButton
Time for action – using the SelectManyButton component
What just happened?
Creating drop-down lists using SelectOneMenu
Time for action – using SelectOneMenu with editable and filter features
What just happened?
Using SelectOneMenu with POJOs
Time for action – using SelectOneMenu with POJOs
What just happened?
Grouping options in SelectOneMenu
Time for action – grouping options in SelectOneMenu
What just happened?
Introducing SelectOneListbox
Time for action – using SelectOneListbox with POJOs
What just happened?
Introducing SelectManyMenu
Time for action – using SelectManyMenu
What just happened?
Creating the overlay menu using SelectCheckboxMenu
Time for action – using SelectCheckboxMenu
What just happened?
Creating the overlay menu with a default command using SplitButton
Time for action – using SplitButton
What the just happened?
Introducing the PickList component
Time for action – using the basic PickList component
What just happened?
Using the PickList component with POJO support
Time for action – using the advanced PickList component
What just happened?
Introducing the MultiSelectListbox component
Time for action – using the MultiSelectListbox component
What just happened?
Summary
7. Introducing Advanced Input Components
Introducing the Calendar component
Time for action – displaying a pop-up Calendar with navigator
What just happened?
Understanding Internationalization (I18N) and Localization (L10N)
Time for action – displaying a multipage calendar with Localization and the dateSelect event listener
What just happened?
Restricting the date selection within the date range
Time for action – using Calendar with a date range
What just happened?
Using Calendar with advanced customization options
Time for action – using Calendar's advanced customization options
What just happened?
Using the Calendar component's time picker options
Time for action – Calendar with the time picker options
What just happened?
Star-based rating using the Rating component
Time for action – using the Rating component
What just happened?
Introducing the Spinner component
Time for action – using the Spinner component
What just happened?
Getting input on a scale using the Slider component
Time for action – using the Slider component
What just happened?
Preventing spam and bots using CAPTCHA validation
Time for action – using CAPTCHA for user registration
What just happened?
Uploading files using the FileUpload component
Time for action – using the FileUpload component
What just happened?
Downloading files using the FileDownload component
Time for action – using the FileDownload component
What just happened?
Summary
8. Working with Data Components
Introducing the DataList component
Time for action – displaying unordered and ordered data using DataList
What just happened?
Using DataList with pagination support
Time for action – using DataList with pagination
What just happened?
Displaying tabular data using the DataTable component
Using pagination support
Time for action – using DataTable with pagination
What just happened?
Using columns sorting support
Using column filtering support
Time for action – using DataTable with filtering
What just happened?
Selecting DataTable rows
Selecting a single row
Selecting rows using a row click
Selecting rows using a radio button / checkbox
Time for action – using DataTable with multiple row selection support
What just happened?
Using the row expansion feature
Using the inline row editing feature
Time for action – using DataTable with row editing support
What just happened?
Using the cell editing feature
Time for action – using DataTable with cell editing support
What just happened?
Loading data leisurely
Time for action – loading the DataTable data leisurely
What just happened?
Using the column grouping support
Using the scrolling feature
Using the frozenRows feature
Applying custom styles for rows
Using the resizable and draggable columns feature
Displaying data in the grid layout using the DataGrid component
Exporting data into PDF/XLS/XML/CSV formats using the DataExporter component
Time for action – using DataExporter to export data into XLS and PDF formats
What just happened?
Summary
9. Introducing Advanced Data Visualization Components
Displaying data with sliding effects using the Carousel component
Time for action – creating Carousel using tabs
What just happened?
Introducing the TagCloud component
Time for action – displaying tags as TagCloud
What just happened?
Time for action – choosing a tag in TagCloud with the select Event
What just happened?
Displaying hierarchical data using the Tree component
Time for action – creating a Tree component
What just happened?
Loading tree nodes dynamically using AJAX
Selecting tree nodes
Handling node expand, collapse, select and unselect events
Rendering the tree horizontally
Displaying nodes with icons
Reordering Tree nodes using Drag and Drop
Introducing the TreeTable component
Time for action – displaying posts using the TreeTable component
What just happened?
Introducing the Schedule component
Time for action – creating the Schedule component
What just happened?
Summary
10. Working with Layout Components
Introducing the Panel component
Time for action – using Panel with event listeners
What just happened?
Using Panel with pop-up menu
Using Panel with custom actions
Time for action – creating Panel with custom actions
What just happened?
Introducing the PanelGrid component
Time for action – using PanelGrid with rowspan and colspan features
What just happened?
Displaying overflowed content using ScrollPanel
Time for action – using a ScrollPanel component
What just happened?
Creating workflows using a Wizard component
Time for action – using Wizard to implement workflows
What just happened?
Creating stacked panels using the AccordionPanel component
Loading tabs content dynamically
Creating a dynamic number of tabs
Handling tabChange and tabClose events
Time for action – creating AccordionPanel with dynamic tabs and event listener
What just happened?
Creating a tabbed panel using a TabView component
Loading tabs content dynamically
Creating TabView with closable tabs
Tab headers with different orientations
Creating TabView with a dynamic number of tabs
Creating TabView with scrollable tabs
Handling TabView component's events
Time for action – using TabView with dynamic tabs and event listeners support
What just happened?
Creating complex layouts using the Layout component
Time for action – creating FullPage layout
What just happened?
Creating an element-based layout
Creating nested layouts
Handling layout events
Creating portal like layout using a Dashboard component
Time for action – creating a Dashboard layout
What just happened?
Summary
11. Introducing Navigation Components
Understanding MenuModel
Building menus declaratively
Building menus programmatically
Introducing the Menu component
Time for action – creating a simple Menu
What just happened?
Displaying Menu based on trigger
Time for action – displaying an overlay menu with trigger
What just happened?
Introducing the MenuButton component
Time for action – creating MenuButton
What just happened?
Displaying multilevel nested menus using TieredMenu
Time for action – displaying a multilevel menu using TieredMenu
What just happened?
Creating nested menus with SlideMenu
Time for action – creating the SlideMenu component
What just happened?
Creating a horizontal navigation menu using Menubar
Time for action – creating a Menubar component
What just happened?
Creating a multicolumn menu using MegaMenu
Time for action – creating MegaMenu with multiple columns
What just happened?
Creating tab-based menus using TabMenu
Time for action – creating the TabMenu component
What just happened?
Time for action – tracking an active tab dynamically
What just happened?
Introducing the PanelMenu component
Time for action – creating the PanelMenu component
What just happened?
Introducing ContextMenu
Time for action – creating ContextMenu
What just happened?
Integrating DataTable with ContextMenu
Time for action – creating ContextMenu for DataTable
What just happened?
Integrating Tree with ContextMenu
Time for action – creating ContextMenu for the Tree component
What just happened?
Introducing the Breadcrumb navigation menu
Time for action – creating the Breadcrumb menu
What just happened?
Time for action – creating the Breadcrumb menu programmatically
What just happened?
Summary
12. Drawing Charts
Creating a Line chart
Time for action – creating a Line chart
What just happened?
Creating an Area chart
Creating a Bar chart
Time for action – creating a Bar chart
What just happened?
Creating a Pie chart
Time for action – creating a Pie chart
What just happened?
Creating a Donut chart
Exporting charts as images
Rendering dynamic charts using the JFreeChart API
Time for action – creating a Pie chart using the JFreeChart API
What just happened?
Creating interactive charts using the ItemSelect AJAX event
Summary
13. Using PrimeFaces Themes
Configuring and using themes
Using stateless ThemeSwitcher
Time for action – using the stateless ThemeSwitcher component
What just happened?
Using stateful ThemeSwitcher
Time for action – applying a user-specific theme using stateful ThemeSwitcher
What just happened?
Creating and using a custom theme
Time for action – creating a new theme
What just happened?
Drag-and-drop support
Working with GoogleMaps using the GMap component
Multimedia components
PrimeFaces push
The PrimeFaces extensions
Time for action – installing and configuring PrimeFaces extensions
What just happened?
PrimeFaces mobile
PrimeUI
Summary
Index
PrimeFaces Beginner's Guide
PrimeFaces Beginner's Guide
Copyright © 2013 Packt Publishing
All rights reserved. No part of this book may be reproduced, stored in a retrieval system, or transmitted in any form or by any means, without the prior written permission of the publisher, except in the case of brief quotations embedded in critical articles or reviews.
Every effort has been made in the preparation of this book to ensure the accuracy of the information presented. However, the information contained in this book is sold without warranty, either express or implied. Neither the author, nor Packt Publishing, and its dealers and distributors will be held liable for any damages caused or alleged to be caused directly or indirectly by this book.
Packt Publishing has endeavored to provide trademark information about all of the companies and products mentioned in this book by the appropriate use of capitals. However, Packt Publishing cannot guarantee the accuracy of this information.
First published: November 2013
Production Reference: 1181113
Published by Packt Publishing Ltd.
Livery Place
35 Livery Street
Birmingham B3 2PB, UK.
ISBN 978-1-78328-069-8
www.packtpub.com
Cover Image by Prashant Timappa Shetty (<sparkling.spectrum.123@gmail.com>)
Credits
Author
K. Siva Prasad Reddy
Reviewers
Thomas Andraschko
Mauricio Fenoglio
Sudheer Jonna
Nilesh Namdeo Mali
Acquisition Editor
Joanne Fitzpatrick
Lead Technical Editor
Ritika Dewani
Technical Editors
Gauri Dasgupta
Jalasha D'costa
Dipika Gaonkar
Siddhi Rane
Project Coordinator
Kranti Berde
Proofreaders
Julie Jackson
Joanna McMahon
Indexer
Tejal R. Soni
Graphics
Sheetal Aute
Production Coordinator
Nilesh R. Mohite
Cover Work
Nilesh R. Mohite
About the Author
K. Siva Prasad Reddy is a Senior Software Engineer living in Hyderabad, India, and having more than seven years of experience in developing enterprise applications with Java and JavaEE technologies. Siva is a Sun Certified Java Programmer and has a lot of experience in server-side technologies such as Java, JavaEE, Spring, Hibernate, MyBatis, JSF, PrimeFaces, and WebServices (SOAP/REST). Siva is also the author of Java Persistence with MyBatis 3, Packt Publishing.
Siva normally shares the knowledge he has acquired on his blog at www.sivalabs.in. If you want to find out more about his work, you can follow him on Twitter (@sivalabs) and GitHub (https://github.com/sivaprasadreddy).
I would like to thank my wife Neha, for all the support she gave me at every step of the process; without her this wouldn't have been possible.
Also, thanks to my parents and sister for their moral support in completing this dream.
About the Reviewers
Thomas Andraschko was born in 1989 in Bavaria, Germany. He has over seven years of expertise in software development, wherein his first JSF experience was in 2008 with Apache MyFaces 1.2 and Apache MyFaces Trinidad.
Over the years, he has managed various projects, with other technologies as well, such as JSP, Servlets, Spring MVC, .NET WinForms, and even Ninject and ASP.NET.
Thomas is the founder of PrimeFaces Extensions, an Apache OpenWebBeans committer since 2012, and a PrimeFaces core developer and committer since 2013.
Thomas normally shares his knowledge on his blog at http://tandraschko.blogspot.de.
Thomas is currently employed at the Institut für Vorsorge und Finanzplanung GmbH as Software Architect.
This is the first time he has been involved in the publication of a book.
I would like to thank my friends Çağatay Çivici and Oleg Varaksin for their work on PrimeFaces and PrimeFaces Extensions, and their great teamwork in the last few years.
Also, a big thanks to all other PrimeFaces Extensions team members, the Apache MyFaces community, and the Apache OpenWebBeans community.
Mauricio Fenoglio is a Senior Software Engineer and Architect living in Montevideo, Uruguay. He is a Computer Engineering graduate who studied Informatics at The University of the Republic.
He has over five years of experience developing enterprise web applications, especially using JEE.
He is also an active contributor to the open source project PrimeFaces Extensions. He enjoys using JSF, PrimeFaces, and the most up-to-date web technologies.
When he isn't coding, he likes to hang out with his girlfriend and practice kitesurfing at the nearest beach.
This is the first time he has been involved in the publication of a book as a reviewer.
Sudheer Jonna was born in Andhra Pradesh, India, in 1987. Currently, he is working as a software developer in Chennai, India. He has completed his Master's degree in Computer Applications from JNTU University. His main occupation in the last three years has been building web applications based on Struts, JSF, Spring, jQuery, and JPA—all relating to the banking and financial securities domain.
He is an experienced JSF expert and has been working with the component library of PrimeFaces since 2011. He is also a well-known, recognized member of the PrimeFaces community and project member of the PrimeFaces Extensions project—additional JSF 2 components for PrimeFaces.
Besides these mentioned technologies, he writes technical articles, online training, book reviews (for Packt Publishing), provides suggestions through forums and blogs, and involves himself in optimizing performance in web applications during his free time. He is interested in the R&D of various popular J2EE frameworks and many other technologies.
Sudheer can be contacted on his Gmail account, <sudheer.jonna@gmail.com>, where he also shares his knowledge.
Nilesh Namdeo Mali has completed his B.E. in Computer Engineering from Pune University. He has more than five years of experience in software development, especially in J2EE, JSF, and PrimeFaces. He is also committer to the PrimeFaces Extensions open source project.
I would like to thank my family for supporting me.
www.PacktPub.com
Support files, eBooks, discount offers and more
You might want to visit www.PacktPub.com for support files and downloads related to your book.
Did you know that Packt offers eBook versions of every book published, with PDF and ePub files available? You can upgrade to the eBook version at www.PacktPub.com and as a print book customer, you are entitled to a discount on the eBook copy. Get in touch with us at
At www.PacktPub.com, you can also read a collection of free technical articles, sign up for a range of free newsletters and receive exclusive discounts and offers on Packt books and eBooks.
http://PacktLib.PacktPub.com
Do you need instant solutions to your IT questions? PacktLib is Packt's online digital book library. Here, you can access, read and search across Packt's entire library of books.
Why Subscribe?
Fully searchable across every book published by Packt
Copy and paste, print and bookmark content
On demand and accessible via web browser
Free Access for Packt account holders
If you have an account with Packt at www.PacktPub.com, you can use this to access PacktLib today and view nine entirely free books. Simply use your login credentials for immediate access.
Preface
PrimeFaces is a leading open source user interface (UI) component library for Java Server Faces (JSF)-based web applications. PrimeFaces provides more than 100 UI components with a rich look and feel and theming support. At the time of writing this book, the latest version of PrimeFaces is 4.0, which works well with JSF 2.x.
PrimeFaces Beginner's Guide will take you through the process of installing, configuring, and using PrimeFaces in your JSF-based web applications. Usage of PrimeFaces components are explained through simple and practical examples with step-by-step instructions. By the end of the book, you will have a hands-on experience on how to use PrimeFaces effectively.
What this book covers
Chapter 1, Introduction to PrimeFaces, introduces PrimeFaces, along with details on how to install and configure it by creating a simple Hello World application. This chapter also provides an overview of various PrimeFaces features, such as AJAX support, Partial Page Rendering (PPR), and explains Poll and Remote Command components, which come in very handy at times.
Chapter 2, Introducing Sample Application TechBuzz, provides an overview of the sample application TechBuzz, which we are going to build incrementally throughout the book, and explains what PrimeFaces components will be used for various requirements. This chapter also provides an overall picture on setting up the development environment with all the required software, such as JDK, IDE, database, and so on.
Chapter 3, Using PrimeFaces Common Utility Components,