Jsf 在给定时间段空闲时将用户重定向到主页

Jsf 在给定时间段空闲时将用户重定向到主页,jsf,redirect,primefaces,idle-timer,Jsf,Redirect,Primefaces,Idle Timer,如果用户在给定的时间段内空闲,我想将其发送到/login.xhtml。我尝试过primefaces,但不知道如何实现这一点。使用组件 你可以看到用户活动,比如点击(也许你认为鼠标移动或滚动不理想,完全取决于你)。 注意,如果你想把滚动或鼠标移动当作活动,不要忘记扼杀事件。p> 我不知道您是否在以特定的方式考虑这一点,但我可以告诉您如何使用JavaScript和jQueryIman Mohamadi实现这一点,您可以继续 <p:idleMonitor timeout="3000">

如果用户在给定的时间段内空闲,我想将其发送到
/login.xhtml
。我尝试过primefaces
,但不知道如何实现这一点。

使用组件


<>你可以看到用户活动,比如点击(也许你认为鼠标移动或滚动不理想,完全取决于你)。

注意,如果你想把滚动或鼠标移动当作活动,不要忘记扼杀事件。p> 我不知道您是否在以特定的方式考虑这一点,但我可以告诉您如何使用JavaScript和jQueryIman Mohamadi实现这一点,您可以继续

<p:idleMonitor timeout="3000">
    <p:ajax event="idle" listener="#{idleMonitorBean.processTimeOut()}"/>
</p:idleMonitor>
@Model
public class IdleMonitorBean {

    public void processTimeOut() throws IOException {
        FacesContext.getCurrentInstance().getExternalContext().redirect(
                "/contextroot/index.xhtml");
    }
}
    var resetActivityTimer = function () {
        if (typeof window.userActivity != 'undefined')
            clearTimeout(window.userActivity);
        window.userActivity = setTimeout(function () {
            window.location.href = 'login.xhtml';
        //number of ms until to be considered as ideal
        }, 30000);
    };

    $(window).click(function () {
        //if user clicked he/she is not ideal
        resetActivityTimer();
    });

    //initialize timer
    resetActivityTimer();