Book Image

PrimeFaces Cookbook

Book Image

PrimeFaces Cookbook

Overview of this book

PrimeFaces is the de facto standard in the Java web development. PrimeFaces is a lightweight library with one jar, zero-configuration, and no required dependencies. You just need to download PrimeFaces, add the primefaces-{version}.jar to your classpath and import the namespace to get started. This cookbook provides a head start by covering all the knowledge needed for working with PrimeFaces components in the real world. "PrimeFaces Cookbook" covers over 100 effective recipes for PrimeFaces 3.x which is a leading component suite to boost JSF applications. The book's range is wide‚Äí from AJAX basics, theming, and input components to advanced usage of datatable, menus, drag & drop, and charts. It also includes creating custom components and PrimeFaces Extensions.You will start with the basic concepts such as installing PrimeFaces, configuring it, and writing a first simple page. You will learn PrimeFaces' theming concept and common inputs and selects components. After that more advanced components and use cases will be discussed. The topics covered are grouping content with panels, data iteration components, endless menu variations, working with files and images, using drag & drop, creating charts, and maps. The last chapters describe solutions for frequent, advanced scenarios and give answers on how to write custom components based on PrimeFaces and also show the community-driven open source project PrimeFaces Extension in action.
Table of Contents (17 chapters)
PrimeFaces Cookbook
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
Index

Conditional coloring in dataTable


The dataTable component provides conditional coloring on rows, which can be styled based on conditions.

How to do it...

A basic definition of a color-coded table that displays a list of cars follows:

<p:dataTable id="coloring" var="car" value="#{dataTableController.cars}"
rowStyleClass="#{car.year le 1975 ? 'colored' : null}">
<p:columnheaderText="Year">#{car.year}</p:column>
<p:columnheaderText="Name">#{car.name}</p:column>
</p:dataTable>

The colored style definition could be as simple as the following:

<style type="text/css">
.colored {
background-color: #FF0000;
color: #FFFFFF;
}
</style>

How it works...

With the rowStyleClass attribute, style class can be defined for each row according the manufacturing year of the car as rowStyleClass="#{car.year le 1975 ? 'colored' : null}". Arithmetic, logical, or relational operators of the JSF Expression Language can be used to define the condition.

Note

For more on the...