L'appel de JSF ManageBean après PageLoad à l'aide de f:événement postAddToView

Je suis en train d'écrire une application en utilisant JSF 2.0.

Pour une de la page, il y a une section de la page qui prend du temps pour s'afficher.

Pour améliorer l'expérience utilisateur, je pense à charger la page en premier et ensuite automatiquement faire un appel Ajax retour à la JSF gérer bean objet une fois que la page est chargée avec succès après la 1ère charge.

Je pense à l'utilisation de f:événement de type postAddView.

<h:outputText id="dummyId">
    <f:event type="postAddToView" listener="#{mngBean.doSomething}" />
</h:outputText>

Cependant, il semble comme f:événement postAddToView est encore en cours de traitement avant que la page est affichée pour la première fois.

Les autres options que j'ai explorer est de créer un bouton caché, et obtenir javascript pour la déclencher. Il fonctionne cependant je me demandais simplement si il y a une belle composant JSF/événement qui peut faire cela à la place de l'utilisation de java script.

Merci pour votre aide.

<h:commandButton id="dmyButton" 

value="#{mngBean.getSomething}"
actionListener="#{mngBean.doSomething}"
style="display: none"
type="submit">

Java Script

<script language="JavaScript">
 $(document).ready(function() {
  if (document.getElementById('form:dmyButton').value == 'true') {
   document.getElementById('form:dmyButton').click();
  }

 });
</script>

Merci à tous pour votre aide à l'avance

Très bonne question. Voudrais voir un composant (javascript déclencher un événement après le chargement de la page) dans Primefaces... je pense qu'il n'existe pas à l'heure actuelle. Je vais lier votre question dans le forum de support.

OriginalL'auteur lawardy | 2010-08-18