J'ai eu quelques problèmes avec ActionMessages
créé lors de l'exécution d'une action qui ne s'affichait pas et j'ai découvert que mes problèmes étaient dus à la transmission de redirect=true
dans struts-config.xml.
Puisque le comportement par défaut est redirect=false
, j'ai réfléchi aux avantages que l'on peut avoir avec redirect=true
et je n'ai trouvé aucune réponse. Est-ce que quelqu'un sait quand et pourquoi redirect=true
devrait être utilisé dans les actions à venir?
Redirect envoie une réponse au navigateur qui le force à faire une nouvelle demande. Du point de vue du serveur, le navigateur ne fait qu’une nouvelle requête (même si elle est automatique). Quelques caractéristiques d'une redirection:
Un transfert se produit sur le serveur. Le navigateur n'est pas impliqué dans cela. Quelques caractéristiques de l'avant:
Donc, cela dépend de ce que vous voulez accomplir. Un forward est généralement parlé plus rapidement. Mais si l'utilisateur doit pouvoir mettre en favori le nouvel emplacement, ce n'est pas une option.
Si vous spécifiez redirect="true"
, Struts utilise une redirection côté client [response.sendRedirect()
]. La JSP sera invoquée par une nouvelle requête du navigateur et toutes les données stockées dans l'ancienne requête seront perdues.