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

Context menu with nested items


The context menu is displayed when the mouse is right-clicked. It replaces the native context menu in the browser and gives web applications a desktop-like feeling and behavior. PrimeFaces' context menu provides an overlay with submenus and menu items.

In this recipe, we will develop a context menu with nested items and see how to attach it to any component. As example, we will attach the context menu to a panel component.

How to do it...

The context menu is defined by the p:contextMenu tag. We would like to define two submenus—one with menu items having URLs (they send GET requests) and one with ajaxified menu items (they send POST requests). Ajaxified menu items perform the CRUD operations and update p:growl. The context menu is attached to p:panel. That means, only a right-click on the panel component displays the defined context menu. A click anywhere else displays the native web browser's context menu.

<p:growl id="growl"/>

<p:panel id="dummyPanel...