2 votes

Rechargement de la page à partir du haricot de sauvegarde

Dans mon code, je développe le TreeNode dans le cadre de gauche qui est sélectionné par les liens de navigation présents dans le cadre de droite. Cela fonctionne mais chaque fois que je clique sur le lien dans le cadre de droite, je dois rafraîchir le cadre de droite manuellement. J'ai essayé de recharger la page à partir du backing bean en utilisant du code javascript mais cela ne fonctionne pas. Quelqu'un peut-il m'aider à comprendre pourquoi il n'est pas exécuté ?

Merci d'avance de m'aider.

Voici le code que j'utilise.

public void expandTreeView( TreeNode selectedNode )
{
    if ( selectedNode != null )
    {
        selectedNode.getParent().setExpanded( true );

    }
    RequestContext rc = RequestContext.getCurrentInstance();
    rc.execute("window.location.reload(true)");

}

1voto

Yagami Light Points 1386

Vous devez combiner une fonction JS avec remoteCommand, cela ressemblera à ceci :

monHTML.xhtml

<p:commandLink id="commandLink" onclick="myFunction(nodeSelected)"  >
...
</p:commandLink>   

Ajoutez également une fonction JS

<script type="text/javascript">
   function myFunction(x) {                                
       ...                                
    }    
</script>

et enfin le combiner avec un p:remoteCommand il vous permet d'appeler une méthode managedBean à partir de votre fonction JS

Vous pouvez voir Exemple de commande à distance Primefaces ou simplement regarder ce post SO Invocation d'une p:remoteCommand via une fonction JavaScript transmission d'un message local à cette fonction à une autre fonction via le gestionnaire "oncomplete".

J'espère que cela vous a aidé.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X