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 :

paramètres en url impossible à enlever de l'url!


Sujet :

Struts 1 Java

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

    Informations forums :
    Inscription : Juillet 2006
    Messages : 372
    Points : 239
    Points
    239
    Par défaut paramètres en url impossible à enlever de l'url!
    Salut à tous!

    Grâce à du javascript je passe dans l'url des parametres, et je me retrouve donc avec une url du type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    https://localhost:8443/WebIma/event.do?idC=FERMER&do=commandWithoutParam
    et ceci me parait gênant : C'est super pratique pour récupérer les paramètres dans l'action (je ne peux pas passer par un form vu que ma jsp c'est une iframe, et du coup visiblement il ne reconnait pas le form), MAIS si jamais le gars pars 2 secondes et fait un "refresh" en revanant...Malheur, car ca va repasser dans l'action et refaire l'ction correspondant aux parametre en url....Ce que je souhaite éviter à tout prix!

    J'ai essayé de faire un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     request.remove("do"); request.remove("idC");
    mais les param restent toujours dans l'url

    pareil en faisant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     request.setAttribute("do",null); request.setAttribute("idC",null);
    Non ceulement les attributs sont toujours dans l'url, mais en plus ils gardent la même valeur que dans l'url....

    Est-ce que quelqu'un a une idée svp?
    N'oubliez pas que l'eau ça rouille !
    est votre ami !

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Points : 431
    Points
    431
    Par défaut
    Quand tu fais un request.remove (removeAttribute, non ?), tu supprimes un attribut de la requête (stocké côté serveur) et non un paramètre (stocké dans l'entête HTTP de la requête). Il est donc normal que tu aies toujours tes paramètres après.

    Ton explication n'est pas très claire, mais voici ce que je comprends : tu génères et appelles l'URL que tu as indiquée, qui fait un traitement, puis renvoie vers une page (probablement une JSP) qui affiche quelque chose. Et quand tu fais F5, ca ré-execute tout le processus, au lieu de juste raffraichir la page.
    Si ton problème est bien celui-là, c'est très simple : il faut que, après ton traitement dans ton action event, tu ne fasses pas un forward mais un redirect.
    C'est-à-dire que, dans ton struts-config.xml, dans ton forward, tu mets l'attribut "redirect" à "true". L'URL changera alors après le traitement, et F5 ne rechargera que l'URL pour affichage.
    Maintenant, en faisant ca, n'oublie pas qu'un redirect fait une nouvelle request, donc tu perdras tes paramètres et tes attributs de requete. Si cela te pose problème, dis-le, je peux aussi t'aider.

  3. #3
    Membre actif
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    372
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 372
    Points : 239
    Points
    239
    Par défaut
    en effet ca marche nickel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <action path="/event" name="EventForm" type="action.EventAction">
          <forward name="succes" path="/jsp/event.jsp"/>
          <forward name="succesCmdWithParam" redirect="true" path="/event.do"/>
          <forward name="echec" path="/jsp/logon.jsp"/>
        </action>
    Merci
    N'oubliez pas que l'eau ça rouille !
    est votre ami !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Impossible d'activer l'url rewriting !
    Par tintin72 dans le forum Apache
    Réponses: 3
    Dernier message: 20/06/2009, 13h00
  2. [XML] Impossible de lire les urls
    Par HwRZxLc4 dans le forum Bibliothèques et frameworks
    Réponses: 8
    Dernier message: 14/05/2009, 16h22
  3. Impossible d'ouvrir une URL à partir de l'applet
    Par hurikhan dans le forum Applets
    Réponses: 1
    Dernier message: 11/04/2007, 11h02
  4. [EasyPHP] impossible de faire des URLS avec variable
    Par SandraG dans le forum EDI, CMS, Outils, Scripts et API
    Réponses: 9
    Dernier message: 30/03/2006, 17h38

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