Search icon CANCEL
Arrow left icon
Explore Products
Best Sellers
New Releases
Books
Videos
Audiobooks
Learning Hub
Conferences
Free Learning
Arrow right icon
Arrow up icon
GO TO TOP
PrimeFaces Beginner's Guide

You're reading from   PrimeFaces Beginner's Guide The perfect introduction to PrimeFaces, this tutorial will take you step by step through all the great features, ranging from form-creation to sophisticated navigation systems. All you need are some basic JSF and jQuery skills.

Arrow left icon
Product type Paperback
Published in Nov 2013
Publisher Packt
ISBN-13 9781783280698
Length 378 pages
Edition 1st Edition
Languages
Arrow right icon
Author (1):
Arrow left icon
K. Siva Prasad Reddy K. Siva Prasad Reddy
Author Profile Icon K. Siva Prasad Reddy
K. Siva Prasad Reddy
Arrow right icon
View More author details
Toc

Table of Contents (15) Chapters Close

Preface 1. Introduction to PrimeFaces FREE CHAPTER 2. Introducing Sample Application TechBuzz 3. Using PrimeFaces Common Utility Components 4. Introducing the PrimeFaces Client Side Validation Framework 5. Introducing Text Input Components 6. Working with Selection Input Components 7. Introducing Advanced Input Components 8. Working with Data Components 9. Introducing Advanced Data Visualization Components 10. Working with Layout Components 11. Introducing Navigation Components 12. Drawing Charts 13. Using PrimeFaces Themes Index

Time for action – using the poll component to display the current time

Let's display live time by polling server time for every second and display it using the poll component.

  1. Create poll.xhtml with a poll component to display currentTime as follows:
    <h:form>
      <p:outputLabel value="Current Time:" /> <p:outputLabel id="currentTime" value="#{serverTimeBean.time}"/>
      <p:poll interval="1" listener="#{serverTimeBean.updateTime()}" update="currentTime"/>
    </h:form>
  2. Create ServerTimeBean.java managed bean with the updateTime() method to set the currentTime value as follows:
    @ManagedBean
    @RequestScoped
    public class ServerTimeBean 
    {
      private String time;
      public void setTime(String time) {
        this.time = time;
      }
      public String getTime() {
        return time;
      }
      public void updateTime() {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
        this.time = sdf.format(new Date());
      }
      
    }

What just happened?

We have used the <p:poll> component to call listener method updateTime() on ServerTimeBean for every second by specifying interval="1", and updated the view to display current time using AJAX.

The poll component provides the following attributes, which provides additional control on its behavior:

AttributeName

Description

onstart

JavaScript handler to execute before AJAX request begins.

oncomplete

JavaScript handler to execute when AJAX request is completed.

onsuccess

JavaScript handler to execute when AJAX request succeeds.

onerror

JavaScript handler to execute when AJAX request fails.

autoStart

In autoStart mode, polling starts automatically on page load, to start polling on demand set it to false.

stop

Stops polling when true.

Controlling the polling process using external triggers

Sometimes, we may want to have control on when to start/stop the polling process, stop polling based on some criteria, and so on. The PrimeFaces poll component provides these features with additional attributes giving you full control on polling process.

For example, we want to start polling when the Start button is clicked, and stop polling when the Stop button is clicked.

You have been reading a chapter from
PrimeFaces Beginner's Guide
Published in: Nov 2013
Publisher: Packt
ISBN-13: 9781783280698
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at €18.99/month. Cancel anytime