IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Struts 1 Java Discussion :

Revenir à la page précédente


Sujet :

Struts 1 Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 106
    Points : 76
    Points
    76
    Par défaut Revenir à la page précédente
    Je développe actuellement une application avec plusieurs page web. J'aimerais pouvoir sur chaque page revenir à la page précédente. Bien entendu, j'ai essayé avec le fameux history.back() ou le history.go(-1) mais j'arrive à chaque fois que une page qui liste mon répertoire de développement ou encore j'arrive sur la page d'avertissement de IE. Avez vous une idée ?! Peut être un attribut ds le struts config, ou encore qqch à passer en session.
    Merci à tous et toutes

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 106
    Points : 76
    Points
    76
    Par défaut
    Personne n'a une idée ?! Même pas une liste chaînée ...

  3. #3
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Normalement, ceci devrait fonctionner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:link href="javascript:window.history.go(-1)">Retour</html:link>

  4. #4
    Membre expérimenté
    Avatar de zekey
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 036
    Points : 1 403
    Points
    1 403
    Par défaut
    En fait tout dépend de la facon dont tu passe d'une page à l'autre. Dans le cas ou tu fait un location.replace (ou equivalent) en javascript par exemple, la page courant dans le buffer est remplacé par la nouvelle page et donc même si tu navigue sur 40 pages, tu n'en aura toujours qu'une dans l'historique.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 106
    Points : 76
    Points
    76
    Par défaut
    Pour le history.go(-1) ça ne marche pas comme dit dans le premier post. Là je passe par une liste chainée qui enregistre tous mes enregistrements. Donc je connais précisemment l'historique de navigation. Mon problème maintenant, quand j'appuie sur le bouton précédent qui se situe sur ma page, je l'envoie sur l'action pagePrecedente.do qui ressemble en gros à ça

    ActionForward forward = null;
    LinkedList historique = ((LinkedList)getServlet().getServletContext().getAttribute(BplhConstantes.HISTORIQUE));
    historique.removeLast();
    forward = new ActionForward((String)historique.getLast());

    return forward;

    Et au moment de la redirection, Invalid path was requested /bplh/commun/accueil

    une idée ?!

  6. #6
    Membre expérimenté
    Avatar de zekey
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 036
    Points : 1 403
    Points
    1 403
    Par défaut
    Hola c'est quoi cette liste chainée ?????
    Le fait de sauvgarder tes url ne t'aidera pas puisque au moment ou tu redirige dessus tu n'es plus dans le même contexte. Donc ton automate est comme qui dirait sens dessus dessus.

    Donc reprenons tout d'abord pourquoi as tu besoin de l'historique et précisément dans quel contexte.

  7. #7
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 106
    Points : 76
    Points
    76
    Par défaut
    Voilà ce que je sauvegarde dans ma LinkedList

    LinkedList historique = ((LinkedList)getServlet().getServletContext().getAttribute(BplhConstantes.HISTORIQUE));
    if (historique != null) {
    historique.addLast(_request.getContextPath()+_request.getServletPath());
    }

    Il me retrouve bien toutes les url où est passé l'utilisateur.

    J'ai besoin de retourner à la page précédente sur toutes les pages, donc je dois conserver un historique de navigation.

  8. #8
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 106
    Points : 76
    Points
    76
    Par défaut
    Mon contexte est toujours le même puisque je ne change pas d'application. Mon contexte est et restera (je pense) /bplh/

  9. #9
    Membre expérimenté
    Avatar de zekey
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 036
    Points : 1 403
    Points
    1 403
    Par défaut
    Je me suis mal exprimé (ou plutot si mais au pied de la lettre) par le contexte je veux dans quel cadre. Expliques nous quel est le use case qui fait que tu dois faire back.

  10. #10
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 106
    Points : 76
    Points
    76
    Par défaut
    Ok désolé ! Donc en fait dans tous mes uses cases, il y a la possibilité de faire un retour en arrière, donc je peux très bien faire un retour en arrière sur d'autres cas d'utilisation. Donc j'avais pour idée, de sauvegarder un historique de navigation, et de rejouer simplement les path, puisque tous les formulaires sont mis en session

  11. #11
    Membre expérimenté
    Avatar de zekey
    Profil pro
    Inscrit en
    Février 2005
    Messages
    1 036
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 1 036
    Points : 1 403
    Points
    1 403
    Par défaut
    Oui mais pourquoi aller en arrière(je sais j'insiste) pour corriger quelque chose ? pour visualiser quelque chose ?
    si le retour en arriere fait partie intégrante de ton appli (c'est à dire que ton automate est plein de boucle sur lui-même) alors il faut les intégrer au flow de struts (enfin de ton framework qu'importe le quel).

    ce que tu fais avec ta liste chainée c'est son job, c'est à lui de faire les enchainements

  12. #12
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 106
    Points : 76
    Points
    76
    Par défaut
    Bon déjà sur certaines pages, c'est des "cul de sac" ! Et c'est vendu au client avec des retour en arrière

  13. #13
    Membre éprouvé
    Avatar de yolepro
    Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 918
    Points : 1 144
    Points
    1 144
    Par défaut
    Bonjour,

    A partir du moment ou tes formulaires et tes objets sont en session, qu'est ce qui te pose probleme pour rappeler une action struts ?

    Il faut juste que tu prévois dans ta cinématique la possibilité d'appeler tes actions sans faire de repopulate de tes forms.

    Si tu arrives la premiere fois sur la page tu charges les objets + Form par defaut.

    Si tu y reviens (par un lien dans le chapeau par exemple), tu ne fais que récupérer le formulaire et objets en session et tu les l'afficher.

  14. #14
    Membre régulier
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    106
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 106
    Points : 76
    Points
    76
    Par défaut
    Donc finalement, à force de me torturer la tête, j'ai trouvé une solution ! Donc je stocke mes url dans ma liste chainée afin de conserver ce fameux historique de navigation . Ensuite, j'appelle la fonction response.sendRedirect(url) ehhh hop ça marche tout seul !

Discussions similaires

  1. revenir à la page précédente avec mechanize
    Par zaboug dans le forum Web
    Réponses: 6
    Dernier message: 29/06/2009, 15h55
  2. empêcher de revenir à la page précédente
    Par coyote999 dans le forum Servlets/JSP
    Réponses: 1
    Dernier message: 06/09/2007, 16h41
  3. Comment revenir à la page précédente en cliquant sur un lien
    Par veevee dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 21/04/2007, 19h29
  4. problème de script php pour revenir à la page précédente
    Par mandyben dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 14/09/2006, 10h12
  5. revenir à la page précédente
    Par sam01 dans le forum Langage
    Réponses: 1
    Dernier message: 08/04/2006, 00h43

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo