Компонент
idleMonitor
, отслеживает действия пользователя и срабатывает, когда пользователь снова становится бездействующим или активным. По умолчанию время простоя установлено на 5 минут (300000 мс), и вы можете настроить продолжительность с помощью атрибута timeout, как показано ниже:
<!-- fire if user idle for 10 seconds --> <p:idleMonitor timeout="10000" onidle="idleDialog.show()"/>
В этом уроке мы покажем вам пример
idleMonitor
, запрашивающий диалог подтверждения, если пользователь простаивает в течение 10 секунд. На самом деле, этот пример вдохновлен веб-сайтом моего банка, он всегда запрашивает меня и спрашивает, хочу ли я продолжить после простоя в течение 5 минут.
Используемые инструменты:
, PrimeFaces 3.3
, JSF 2.2.11
, Затмение 4.2
, Maven 3
, Tomcat 7
1. Компонент idleMonitor
Если пользователь не используется в течение 10 секунд, появится диалоговое окно подтверждения и спросит, хочет ли пользователь продолжить или выйти из системы?
, Если да, закройте диалоговое окно подтверждения и отобразите приветствие
сообщение через компонент Growl.
, Если пользователь выберет выход из системы, закройте также диалоговое окно подтверждения и отобразите
выход из системы через компонент Growl.
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
Предоставить сообщение лиц для компонента Growl.
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 } }
Скачать исходный код
Загрузите его - ссылка://wp-content/uploads/2012/08/primefaces-IdleMonitor-example.zip[primefaces-IdleMonitor-example.zip](11 КБ)
Рекомендации
idleMonitor витрина]
ссылка://тег/primefaces/[primefaces]