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 :

Formulaire gardé entre les actions


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre habitué
    Inscrit en
    Octobre 2003
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 10
    Par défaut Formulaire gardé entre les actions
    Bonjour à tous,

    j'ai un petit problème de forms qui se transmettent des données sur des champs qu'elles ont en commun. Je m'explique:

    J'ai une page A avec un formulaire qui va me permettre disons de modifier un objet personne. Sur cette meme page, j'ai plusieurs boutons de nom action qui peuvent prendre plusieurs valeurs (modifier, supprimer, etc.). Lors du clic sur l'un des boutons "action", je tombe normal sur mon action struts, effectue les traitements necessaires, et une fois terminé, redirige ensuite vers une page B avec la liste de toutes les personnes.

    Le formulaire utilisé sur cette page B possède également un champs de nom action (pour les boutons), et lors de la redirection de A vers B, struts peuple mon formulaire de la page B avec les données de la page A sur les champs qui ont les mêmes noms, ce qui est encore une fois normal.

    Comme je ne veux pas que mon champs "action" soit transmis de A vers B, à la fin de l'action de A j'initialise le form à null. Et là pas de chance, ça ne marche pas, les données sont quand meme transmises... J'ai bien passé mon scope en request mais rien à faire, en mode debug je cherche partout où pourrait se trouver ce champs "action" dans les variables, et il est quand même transmis!

    Une idée?

    Merci!

  2. #2
    Membre du Club
    Inscrit en
    Juillet 2005
    Messages
    9
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 9
    Par défaut
    Salut Toudy,

    Serait-il possible d'avoir quelques petits bouts de codes (des 2 jsp, ton strus-config et là ou tu reset ta form par exemple...).

    Vince

  3. #3
    Membre Expert Avatar de maxf1
    Profil pro
    Inscrit en
    Novembre 2006
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Moselle (Lorraine)

    Informations forums :
    Inscription : Novembre 2006
    Messages : 1 229
    Par défaut
    Tout d'abord as tu mis à un moment quelque chose en variable de session. Car si c'est le cas il ne faut pas oublier de les supprimer sinon c'est normal qu'elle apparaisse encore.

    Meme si tu changes ton scope à request, si le form est présent dans session ou pire dans application alors ca reste tant que tu ne les a pas supprimer (ou redemarrage de tomcat).

    POste nous la déclaration de tes actions (struts-config)
    Et le code de tes actions (methode execute et reset)

  4. #4
    Membre habitué
    Inscrit en
    Octobre 2003
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 10
    Par défaut
    Bonjour,

    j'ai reussi à contourner le problème via une condition que je devais de toute façon mettre pour autre chose, donc c'est bon. Etant donné que c'est une appli pour un grand compte, je ne peux malheureusement pas poster de bouts de codes ici (je prendrais trop de temps à renommer et garder l'essentiel). Mais je precise:

    - que mes scopes sont en mode request dans mon struts-config
    - que ma session ne possède pas le formulaire ni de A ni de B, juste avant le forward de A vers B dans l'action A (verification en mode debug)

    L'erreur provient peut etre de la configuration de struts, de l'utilisation de spring et autres couches de l'appli mise en place par l'architecte.

    Je vous remercie pour vos réponses. Dois-je mettre le tag à resolu?

  5. #5
    Membre chevronné


    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    7 855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 7 855
    Par défaut
    Citation Envoyé par Toudy
    Je vous remercie pour vos réponses. Dois-je mettre le tag à resolu?
    Si ca l'est, évidemment

  6. #6
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Ca me parait normal comme fonctionnement, je présume qu'à la fin de ton action A tu rediriges vers ton action B. Comme c'est le même request, B auras toujours accès aux champs qu'attendait A.

    Il faudrait ajouter une variable dans le request (dans le genre request.setAttribute("origine_A", "1") que tu testerais dans B (request.getAttribute("origine_A") == null, on n'est pas passé par A) pour savoir si tu es passé par A, dans ce cas, tu ignore les champs de A.

    C'est plutôt bidouille je l'accorde...

    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Membre habitué
    Inscrit en
    Octobre 2003
    Messages
    10
    Détails du profil
    Informations forums :
    Inscription : Octobre 2003
    Messages : 10
    Par défaut
    Oui mais ce qui est bizarre, c'est que dans A si le form je le mets avant la redirection à null (il devient également null dans la request), B arrive quand même à retrouver les valeurs de A, etrange non?
    Enfin je serais passé par ta bidouille si je n'avais pas résolu mon prob

    Merci!

  8. #8
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 313
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Billets dans le blog
    1
    Par défaut
    Non, ce n'est pas étrange, struts charge les informations liées à l'objet request dans le formulaire (par correspondance des noms), ça ne veut pas dire qu'il les supprime du request (d'ailleurs, à ma connaissance, il n'y a aucun moyen de les supprimer).
    Pour moi, c'est un comportement tout à fait normal.

    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Réponses: 8
    Dernier message: 04/04/2007, 11h16
  2. lien entre les 2 formulaire et accees
    Par yohann007 dans le forum VB.NET
    Réponses: 5
    Dernier message: 19/03/2007, 16h07
  3. Réponses: 2
    Dernier message: 26/12/2006, 17h03
  4. Réponses: 2
    Dernier message: 09/11/2006, 22h42
  5. relations entre les formulaires
    Par PAUL87 dans le forum Access
    Réponses: 5
    Dernier message: 17/09/2005, 11h48

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