40 votes

Le bouton de commande PrimeFaces ne navigue pas ou ne se met pas à jour

Je suis en train d'utiliser Primefaces pour rendre mon application un peu plus belle. J'ai remarqué que p:commandButton et h:commandButton ne fonctionnent pas de la même manière.

Le p:commandButton appelle la méthode et rien d'autre ne se passe. Le h:commandButton appelle la méthode et renvoie une navigation.

J'ai des problèmes avec la redirection après avoir appuyé sur le bouton de connexion en utilisant p:commandButton. Comment faire face à cela?


J'ai un paramètre de mise à jour :

53voto

Michael Borgwardt Points 181658

A besoin de l'une des options suivantes pour fonctionner correctement :

  • l'attribut update pour lister les id des composants à ré-afficher (pour les requêtes AJAX)
  • l'attribut ajax="false" pour effectuer une soumission normale, non-ajax.

Si vous n'avez ni l'un ni l'autre, le bouton effectuera par défaut une requête AJAX sans retour d'information UI.

De plus, j'ai eu des problèmes lorsque ni l'une ni l'autre option ne fonctionnait lorsque le environnant avait un attribut enctype.

1 votes

Vous voulez ajax="false" si vous voulez avoir une requête synchrone avec une navigation. En ce qui concerne le paramètre update, consultez mon commentaire dans une de vos questions précédentes auxquelles vous n'avez pas encore répondu.

0 votes

Désolé, j'ai juste oublié ça -.-

0 votes

En ce qui concerne le problème enctype="multipart/form-data", pour cela, vous devez vous assurer d'avoir configuré le FileUploadFilter de PrimeFaces conformément aux instructions de leur guide utilisateur.

31voto

alfonx Points 1487

Je pense que ce que Cagatay voulait dire était :

Ne navigue pas vers la page :

Fonctionne (redirige vers la page) :

Fonctionne (redirige vers la page) :

si .xhtml est votre extension par défaut définie dans web.xml :

        javax.faces.DEFAULT_SUFFIX
        .xhtml

Plus d'informations peuvent être trouvées dans le forum de primefaces, par exemple dans cette discussion sur la navigation

J'espère que cela a aidé un peu...

8voto

Cagatay Civici Points 3335

Vous devez utiliser une redirection si vous effectuez une navigation et que la demande est effectuée avec ajax.

4voto

zzirna Points 26

Je rencontre un problème similaire.

J'utilise primefaces et primefaces mobile et la navigation ne fonctionne pas dans Firefox lorsque j'utilise avec ajax="false" et action="find.xhtml?faces-redirect=true".

La seule façon dont j'ai pu le faire fonctionner aussi dans Firefox était en utilisant :

0voto

Toumi Points 4

Aucune des solutions ci-dessus n'a fonctionné pour moi. Vous pouvez toujours opter pour un simple javascript

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