2013-06-07 3 views
0

Je veux implémenter un compte à rebours, puis terminer ma session lorsque le temps se terminera et me rediriger vers la page de connexion, comment puis-je faire que je PRIMEFACES ... Je ne veux pas utiliser IdleMonitor parce que je veux afficher un un message pour se connecter à nouveau lorsque mon arrivée du compte à rebours et il est très important pour moi de montrer le temps restant j'ai ceSESSION TIMEOUT PRIMEFACES?

 $(function() { 
      $('#time').chrony({ 
      second: 15, 
      finish: function() { 
      this.html('Finished!'); -- Here i want to call a logout function and redirect to login page 
     } 
    }); 
}); 

ceci est une horloge timedown jquery, mais je veux me appeler un beanSessionTimeout quand il termine

J'ai lu à propos de remoteCommand dans primefaces ... des idées?

Répondre

0

Dans ce cas, vous pouvez utiliser p:remoteCommand comme ceci:

<-- this goes somehwere on your page --> 
<p:remoteCommand name="timeout" action="#{bean.sessionTimeout}" /> 

et votre javascript:

$(function() { 
     $('#time').chrony({ 
     second: 15, 
     finish: function() { 
     this.html('Finished!'); 
     timeout(); 
    } 
    }); 
}); 

Mais peut-être il est utile d'envisager l'aide d'un framework pour vous aider avec l'authentification des utilisateurs et la gestion de la durée de vie de la session .

+0

Je mets ton code mais quand je démarre la page, appelle automatiquement le remoteCommand et mon horloge ne montre pas – MitoCode

+0

Hmm .. cela ne devrait pas arriver - quelle version de Primefaces utilisez-vous? Êtes-vous sûr qu'il n'y a pas un autre appel à 'timeout()' quelque part sur la page? – dratewka