Компонент
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]