ICEFaces actualisation de la page
J'ai une page où l'utilisateur entre des données et frappe un bouton "enregistrer".
Les données sont enregistrées dans la bd, et je veux que la page de refrsh lui-même afin de refléter les nouvelles données dans la base de données.
Je suis à l'aide d'un managed bean, comment puis-je obtenir la page pour actualiser sur son propre?
Vous devez vous connecter pour publier un commentaire.
Il y a deux options qui viennent à mon esprit:
ad 1)
Définir une page à laquelle vous pourrez naviguer à après avoir cliquer sur "enregistrer".
Pour ce faire, votre action pour l'enregistrement de données dans la DB va aller dans la méthode définie comme une
actionListener
ou, si vous voulez faire de votre page suivante en fonction du résultat du processus de sauvegarde, commeaction
.Règles de Navigation seront définies dans faces-config.xml
Si pas de navigation de la règle correspond à une action donnée, la page en cours sera réaffiché (bien qu'à partir de l'expérience que j'ai faite ce actualiser est différent d'un commun HTML de rafraîchissement).
ad 2)
Si vous avez certains de listes ou d'un tableau de données sur la même page à un modèle dans votre bean, les changements seront automatiquement affichés sauf vous êtes à l'aide de la
immediate
mot-clé défini à true sur votre bouton enregistrer.En outre, vous pouvez envisager un panneau avec un contenu de votre choix qui a le
rendered
propriété a la valeur d'un booléen dans votre bean, qui sera déclenché dans le processus d'enregistrement et donc de laisser le contenu sera affiché uniquement après avoir atteint enregistrer.Vous pouvez utiliser de l'AJAX push de IceFaces. Ce initialise un nouveau rendu du client.
Le recommandé (et la plus simple) consiste à utiliser la SessionRender API dans votre managed bean:
Consulter le Icefaces guide du développeur pour plus d'informations.
Cela dépend de comment vous le faites.
Lorsque vous cliquez sur le bouton, le JSF le cycle de vie est lancé, si vous le coup d'envoi de l'enregistrer dans la base de données à l'intérieur du bouton d'action, quelles que soient les valeurs que vous mettez à jour dans votre gérer bean devrait être reflété dans la page automatiquement. La JSF le cycle de vie fait cela pour vous automatiquement et icefaces pouvez le faire en utilisant l'AJAX pont de sorte que vous ne serez pas obligés de faire un rechargement de la page.
Si vous êtes en train de faire le travail de manière asynchrone, vous aurez besoin d'utiliser le Push API icefaces vous offre. Le coup d'envoi du cycle de vie à partir de la fin du serveur.