La sémantique de “?visages-redirect=true” dans le <commandlink action=...> et pourquoi ne pas l'utiliser partout
J'aimerais comprendre ce que sont la sémantique derrière l'ajout de la "?faces-redirect=true"
dans l'action de la propriété d'un <h:commandlink>
balise dans JSF2.0. Que ce soit avec elle ou avec elle, la demande en effet navigue vers la page cible spécifiée dans l'action. À première vue, il semble que le seul effet est esthétique, c'est à dire de fournir de la rétroaction à l'utilisateur (si il est à la recherche dans le navigateur l'adresse URL visitée) qu'il a déménagé dans une nouvelle page. Mais si c'est tellement inoffensif et des effets secondaires-libre, je ne vois pas pourquoi il n'est pas le comportement par défaut. Je soupçonne que cela a à voir avec le post-mécanisme de JSF2.0. J'ai remarqué lors de la navigation par l'intermédiaire d'une application JSF que l'Url on voit à son navigateur (si vous ?faces-redirect=true
n'est pas utilisé) sont ceux de la "précédent", "page".
méta-NB. Je suis derrière un pare-feu et en proie à la "nécessite JavaScript externe à partir d'un autre domaine" problème donc je m'excuse pour l'absence de mise en forme. Je vais également fournir des commentaires sur vos réponses dans quelques heures, quand je peux accéder à partir d'un autre domaine.
OriginalL'auteur Marcus Junius Brutus | 2012-06-28
Vous devez vous connecter pour publier un commentaire.
Page-à-page de navigation ne doivent pas être effectuées à l'aide de la POSTE, à tous. Vous devriez être en utilisant la normale
<h:link>
ou<h:button>
pour ce lieu de<h:commandLink>
ou<h:commandButton>
.Ainsi, au lieu de
vous devriez vraiment être à l'aide de
Cela a le grand avantage que le site est maintenant SEO friendly. Searchbots à savoir n'a pas d'indice de formes.
Utiliser le
<h:commandLink>
seulement si vous devez soumettre un formulaire avec certaines entrées de l'utilisateur. Mais plus souvent, le résultat est simplement présenté dans la même page, si nécessaire conditionnellement rendu/inclus. Seulement sur le succès de la soumet, qui a absolument besoin d'accéder à une autre page (par exemple, la connexion/déconnexion), vous devrait en effet être l'envoi d'une redirection. C'est le soi-disant Post-Rediriger-Get modèle.Voir aussi
Je n'ai jamais utiliser JSF générateurs de code. Je viens de l'écrire moi-même. Je n'ai pas l'utilisation de Netbeans, donc je ne peux pas parler directement.
OriginalL'auteur BalusC