Если время ожидания сеанса составляет 15 минут, вы можете просто установить вызов Javascript (используя метод setTimeout
), который будет отображать всплывающее окно. Если пользователь щелкнет по одной ссылке, вызов Javascript будет сброшен, поэтому всплывающее окно будет отображаться только в том случае, если пользователь остается на одной и той же странице не менее 15 минут.
Вы можете попробовать что-то подобное:
<a4j:outputPanel ajaxRendered="true">
<script type="text/javascript">
setTimeout("Richfaces.showModalPanel('xxx');", 900000);
</script>
</a4j:outputPanel>
Пояснения:
Мы обертываем код Javascript в компоненте <a4j:outputPanel>
, для атрибута ajaxRendered
которого установлено значение true
. Таким образом, тайм-аут Javascript будет сброшен, даже когда пользователь нажимает на ссылку Ajax.
Затем мы устанавливаем тайм-аут на 15 минут (затем 900000 миллисекунд) до отображения модальной панели.
Я предлагаю вам поместить этот код (и модальную панель) также в шаблон, если вы используете Facelets . Этот шаблон будет использоваться для каждой страницы вашего приложения ...