PrimeFaces idleMonitor-Beispiel

Die `idleMonitor'-Komponente überwacht die Benutzeraktion und wird ausgelöst, wenn sich der Benutzer im Leerlauf befindet oder wieder aktiv wird. Die Leerlaufzeit ist standardmäßig auf 5 Minuten (300000 ms) festgelegt. Sie können die Dauer mithilfe des Timeout-Attributs wie folgt anpassen:

  <!-- fire if user idle for 10 seconds -->
  <p:idleMonitor timeout="10000" onidle="idleDialog.show()"/>

In diesem Lernprogramm zeigen wir Ihnen ein Beispiel für "idleMonitor". Es wird ein Bestätigungsdialogfeld angezeigt, wenn der Benutzer 10 Sekunden lang nicht verwendet wird. Eigentlich ist dieses Beispiel von meiner Bank-Website inspiriert, es fordert mich immer auf, zu fragen, ob ich nach 5 Minuten im Leerlauf weiterfahren möchte.

Benutztes Werkzeug :

  1. PrimeFaces 3.3

  2. JSF 2.2.11

  3. Eclipse 4.2

  4. Maven 3

  5. Tomcat 7

1. idleMonitor-Komponente

Wenn sich der Benutzer 10 Sekunden lang im Leerlauf befindet, wird ein Bestätigungsdialogfeld angezeigt, und Sie werden gefragt, ob der Benutzer fortfahren oder sich abmelden möchte.

  1. Wenn ja, schließen Sie den Bestätigungsdialog und zeigen Sie eine Begrüßung an

Nachricht über 'Growl'-Komponente.

  1. Wenn der Benutzer die Abmeldung wählt, schließen Sie auch den Bestätigungsdialog und zeigen a an

Logout-Nachricht über die 'Growl'-Komponente.

index.xhtml

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml"
    xmlns:h="http://java.sun.com/jsf/html"
    xmlns:f="http://java.sun.com/jsf/core"
    xmlns:ui="http://java.sun.com/jsf/facelets"
    xmlns:p="http://primefaces.org/ui">

<h:head>
</h:head>
<h:body>
 <h1>PrimeFaces idleMonitor example</h1>

  <h:form>
    <p:growl id="msg" showDetail="true" sticky="true"/>

    <!-- If idle 10 seconds, run 'idleDialog' -->
    <p:idleMonitor timeout="10000" onidle="idleDialog.show()"/>

    <p:confirmDialog id="confirmDialog"
        message="You have been idle for at least 10 seconds,
                            Please click ok to continue."
        header="Are you there?" severity="alert" widgetVar="idleDialog">

        <p:commandButton id="confirm" value="Ok" update="msg"
            oncomplete="idleDialog.hide()"
            actionListener="#{idleBean.welcomeListener}"/>

        <p:commandButton id="Logout" value="LogMeOut" update="msg"
            oncomplete="idleDialog.hide()"
            actionListener="#{idleBean.logoutListener}"/>

    </p:confirmDialog>

  </h:form>

</h:body>
</html>

2. ManageBean

Geben Sie die Gesichtsmitteilung für die Komponente "Knurren" an.

IdleMonitorBean.java

package com.mkyong;

import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.context.FacesContext;

@ManagedBean(name = "idleBean")
public class IdleMonitorBean {

    public void welcomeListener() {
        FacesContext.getCurrentInstance().addMessage(
        null,
        new FacesMessage(FacesMessage.SEVERITY__WARN, "Welcome Back",
            "Continue your works."));

    }

    public void logoutListener() {
        FacesContext.getCurrentInstance().addMessage(
        null,
        new FacesMessage(FacesMessage.SEVERITY__WARN,
            "You Have Logged Out!",
            "Thank you for using abc Online Financial Services"));

       //invalidate session, and redirect to other pages
    }
}

3. Demo

http://localhost : 8080/primefaces/

PrimeFaces idleMonitor-Beispiel

PrimeFaces idleMonitor-Beispiel

Quellcode herunterladen

Laden Sie den Link herunter://wp-content/uploads/2012/08/primefaces-IdleMonitor-example.zip[primefaces-IdleMonitor-example.zip](11 KB)