Book Image

Primefaces Theme development

Book Image

Primefaces Theme development

Overview of this book

Developing stunning themes for web applications has never been easier! PrimeFaces delivers a powerful set of features that enables JSF developers to create and customize awesome themes on the web. It is very easy to use because it comes as a single JAR file and requires no mandatory XML configuration. With more than 30 out-of-the-box themes, jQuery integration, a mobile UI toolkit, Ajax Push technology, and much more, PrimeFaces takes JSF application development to a whole new level! This book is a hands-on example-rich guide to creating and customizing PrimeFaces themes using available tools. Beginning with creating a JSF project and integrating the PrimeFaces library, this book will introduce you to the features of theme components, how these are structured, and how PrimeFaces uses JQuery UI to apply a theme to your application. You will learn to examine and change the CSS rules and get creative by setting standard icons and adding new icons to them. You will use a combination of JavaScript and CSS to enhance your application with help of scheduler component and go on to adapt and package your custom theme so that it is compatible with the Resource Manager. Finally, you will explore PrimeFaces mobile apps, ensuring themes are compatible with your mobile applications best practices for theme design.
Table of Contents (18 chapters)
PrimeFaces Theme Development
Credits
About the Authors
About the Reviewers
www.PacktPub.com
Preface
Index

Creating the CurrentTheme Bean


Right-click on the session package, this time click on New…, and select the JSF Managed Bean option again.

Note

Did you notice that NetBeans remembers the menu options you chose recently and moves them to the top of the options list? NetBeans is fantastic.

Name the class as CurrentTheme and change Scope to Session. The source code is once again opened automatically for us and it looks like this:

package com.andyba.pfthemes.session;

*/
import java.io.Serializable;
import javax.inject.Named;
import javax.enterprise.context.SessionScoped;

/**
 *
 * @author Andy_2
 */
@ManagedBean
@SessionScoped
public class CurrentTheme implements 
Serializable {

  /**
    * Creates a new instance of CurrentTheme
  */
  public CurrentTheme() {
  }
}

There is a new annotation, @SessionScoped, which needs to be explained now:

@SessionScoped: A session-scoped Bean is one that is created each time a user visits the application for the first time and lives for as long as the user session...