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 :

Problème avec multibox si vide


Sujet :

Struts 1 Java

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 50
    Points : 36
    Points
    36
    Par défaut Problème avec multibox si vide
    Bonjour,

    J'ai un html:multibox dans un logic:iterate.
    J'utilise le compteur (indexId) du logic:iterate afin de remplir le value de mon checkbox.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <html:multibox property="prendreEnCompte"><%=cptGrilleTarif%></html:multibox>
    Cette partie fonctionne super.

    J'ai bien mon résultat HTML :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <input type="checkbox" name="prendreEnCompte" value="0">
    <input type="checkbox" name="prendreEnCompte" value="1">

    Je fais donc un test avec un exemple ou j'ai justement 2 itérations de mon multibox qui ont les valeurs : 0 et 1.

    1er test :
    Je ne coche aucun des deux multibox.
    Et je submit le formulaire.
    Résultat :
    Dans mon struts, je récupère bien un tableau de chaine vide.

    2ème test:
    Je coche le multibox de valeur 0 et je submit.
    Résultat:
    Je récupère bien au niveau de mon action struts, un tableau avec la valeur 0 : [0].

    3ème test:
    Je décoche le multibox de valeur 0, je coche le multibox de valeur 1 et
    je submit.
    Résultat :
    Je récupère bien un tableau de chaine contenant une seule valeur : [1].

    4ème test:
    Je coche le multibox de valeur 0, je laisse le multibox de valeur 1 coché, et je submit.
    Résultat:
    Je récupère un tableau de chaine avec les valeurs 0 et 1 : [0,1].

    5ème test :
    Je décoche le multibox de valeur 0, je laisse coché le multibox de valeur 1 et je submit.
    Résultat :
    Je récupère bien un tableau de chaine contenant une seule valeur : [1].

    6ème test:
    Je décoche le multibox de valeur 1, je laisse le multibox de valeur 0 décoché, et je submit.
    Résultat:
    ET PAF ! Je récupère un tableau de chaine avec une valeur : [1] alors qu'aucun des multibox n'a été coché.


    J'ai fait plein de tests (j'avais déjà eu le tour avec les checkbox, alors je suis passé à la version multibox, vu que ça paraissait plus indiqué pour ma problématique, c'est à dire plusieurs checkbox avec tous le même nom) et j'en viens à cette conclusion étrange :

    A partir du moment ou j'ai validé mon formulaire avec au moins un des multibox coché, je ne peux plus récupérer un tableau vide en validant pourtant mon formulaire avec aucun multibox coché...


    Quelqu'un a t il la solution ?
    J'en viens à me demander si c'est pas normal !
    Le multibox, on est obligé d'en cocher un ?

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Points : 948
    Points
    948
    Par défaut
    Enfin kkun qui a eu le même problème que moi!!!!

    A ta question:
    Le multibox, on est obligé d'en cocher un ?
    ma réponse est oui!!! (pour la version 1.2.4 en tout cas)!!!!

    En effet quand tu décoches ta box, en debug, tu peux te rendre compte que le "setter" sur le tableau n'est pas invoqué....

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 50
    Points : 36
    Points
    36
    Par défaut
    Déjà, merci de te déclarer, ô moitié !
    Je me sens moins seul, et je savais que tu existais, toi qui a eu le même problème !


    J'utilise Eclipse et Struts.
    En mode debug, comment fais tu pour savoir qu'un setter n'est pas invoqué ?

    J'ai trouvé un solution pour contourner le problème, mais je suis déçu de devoir bricoler et de ne pas pouvoir utiliser le multibox "proprement" :

    - j'ai n multibox
    - j'ai n champs hidden qui contiennent les values que je veux récupérer si les multibox correspondants sont cochés
    - j'ai un champ hidden récapitulatif
    - juste avant le submit, je parcours la liste des multibox, et pour chaque multibox, s'il est coché, je récupère la valeur du hidden de même indice, et je l'ajoute dans mon champ hidden récapitulatif.
    - mon action récupère la valeur du champ hidden récapitulatif, et reconstitue un tableau en splittant la chaine avec mon séparateur.


    Merci beaucoup pour ta réponse en tout cas !
    Ca va me permettre de ne plus insister.
    Il faut savoir s'avouer vaincu devant la bête parfois.

  4. #4
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Points : 948
    Points
    948
    Par défaut
    Citation Envoyé par Gildas Huart
    En mode debug, comment fais tu pour savoir qu'un setter n'est pas invoqué ?
    Je travail avec le plugin NitroX, de ce fait, je mets un breakpoint dans le setter (1er ligne) et lorsque je soumets mon form en décochant toutes les options, je me rend compte simplement que le point d'arret n est pas atteint...

  5. #5
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 50
    Points : 36
    Points
    36
    Par défaut
    Mon formulaire étend la classe DynaActionForm.
    Je suppose que je ne peux pas faire de point d'arrêt. N'est-ce pas ?


    Nitrox, c'est un plugin qui fait quoi ?
    Il fait le pont entre Eclipse et Tomcat ?
    Un plugin comme celui de sysdeo ?
    Je vais chercher sur le net en attendant !

  6. #6
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Points : 948
    Points
    948
    Par défaut
    Citation Envoyé par Gildas Huart
    Mon formulaire étend la classe DynaActionForm.
    Je suppose que je ne peux pas faire de point d'arrêt. N'est-ce pas ?


    Nitrox, c'est un plugin qui fait quoi ?
    Il fait le pont entre Eclipse et Tomcat ?
    Un plugin comme celui de sysdeo ?
    Je vais chercher sur le net en attendant !
    Effectivement, je n'utilise pas les DynaForm de struts...J'avais oublié cette précision...

    Pour ce qui est du plugin nitrox, c'est un plugin WYSIWYG payant qui fait aussi débugger de jsp... (comme sysdeo)

  7. #7
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    50
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 50
    Points : 36
    Points
    36
    Par défaut
    Ok, je te remercie !
    Je vais essayer ce plugin, car sysdeo me fait pas mal de farce :/

    Donc, on va dire que c'est résolu !

  8. #8
    Membre habitué
    Profil pro
    Inscrit en
    Novembre 2002
    Messages
    154
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2002
    Messages : 154
    Points : 143
    Points
    143
    Par défaut
    Je sais que c'est un peu tard,
    mais moi j'utilise la méthode getParameterValues(String str) de la classe javax.servlet.http.HttpServletRequest.

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

Discussions similaires

  1. problème avec un JFormattedTextField vide
    Par im-rainmaker dans le forum Débuter
    Réponses: 2
    Dernier message: 12/11/2008, 16h44
  2. Etat - problème avec des contrôles vides
    Par ver_for dans le forum IHM
    Réponses: 2
    Dernier message: 17/09/2008, 15h55
  3. Problème avec Ma SelectOneListBox vide
    Par tomy29 dans le forum JSF
    Réponses: 5
    Dernier message: 06/08/2008, 17h46
  4. [Administration] Problème avec identifications, journal vide
    Par semheis dans le forum Subversion
    Réponses: 1
    Dernier message: 03/09/2007, 12h07
  5. [FLASH MX2004] Problème avec un clip vide
    Par vbcasimir dans le forum Flash
    Réponses: 5
    Dernier message: 10/02/2006, 15h06

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