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 :

html:checkbox et liste de bean


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de lextaz33
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2008
    Messages : 169
    Par défaut html:checkbox et liste de bean
    Bonjour, voila dans ma jsp j'ai une liste de bean sous forme de tableau avec à chaque ligne une case à cocher. Le but, je coche une case, j'appuie sur le bouton imprimer et j'imprime la ou les lignes sélectionnées.

    Dans ma jsp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <logic:iterate id="composantDotation" name="dotationForm" property="composantDotationList" indexId="ind">
    <td headers="col00"><html:checkbox name="dotationForm" property="impressionEtiquettes" value="<%=String.valueOf(value)%>"></html:checkbox></td>
    <td headers="col01"><bean:write name="composantDotation" property="codeGEF"/></td>
    </logic:iterate>
    composantDotationList est ma liste de bean composantDotation
    dotationForm le formulaire défini ci-après

    Mon Form-bean:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <form-bean name="dotationForm"
                type="org.apache.struts.action.DynaActionForm">
                <form-property name="composantDotationList" type="java.util.List"/>
                <form-property name="impressionEtiquettes" type="java.lang.String[]"/>            
            </form-bean>
    Et dans mon action j'essaye ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    String[] tabEditer =(String[])dotationForm.getStrings("impressionEtiquettes");
    Je suis un peu perdu avec tout les posts qui disent qu'il faut un tableau de booleen ou de string.
    Pour l'instant mon erreur est la suivante :
    INFO [STDOUT] java.lang.ArrayIndexOutOfBoundsException: 0
    lorsque j'essai de visualiser ce qui se trouve dans impressionEtiquettes[i]

    Je veux savoir comment récupérer ce tableau pour chaque bean de ma liste?
    Suis-je sur le bon chemin ou ce n'est pas comme ca du tout?

  2. #2
    Expert confirmé

    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
    Par défaut
    Normalement, il faut initialiser le tableau de String dans la méthode reset de l'ActionForm.
    Etant donné que tu utilises une ActionForm dynamique, peut-être que ça fonctionne en ajoutant l'attribut initial :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form-property name="impressionEtiquettes" type="java.lang.String[]" initial="new String[0]"/>
    A tester.

  3. #3
    Membre confirmé Avatar de lextaz33
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2008
    Messages : 169
    Par défaut
    No malheureusement.
    Avec l'attribut initial, le tableau est de longueur 5 (pourquoi je sais pas) et a pour valeur new et string.

    J'ai essayé avec une propriété de même type défini dans le bean composantDotation mais le résultat est le même.
    Je suis un peu perdu!

  4. #4
    Expert confirmé

    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
    Par défaut
    Si le form-bean dotationForm est bien dans le scope session, tu peux initialiser le tableau de String avec la taille de la collection dans l'Action qui s'exécute avant l'affichage de la collection :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dotationForm.set("impressionEtiquettes",new String[composantDotationList.size()]) ;

  5. #5
    Expert confirmé

    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
    Par défaut
    J'ai oublié de préciser qu'il fallait remplacer le tag html:checkbox par un tag html:multibox.

  6. #6
    Membre confirmé Avatar de lextaz33
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2008
    Messages
    169
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2008
    Messages : 169
    Par défaut
    Merci ca avance pas mal...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    dotationForm.set("impressionEtiquettes",new String[composantDotationList.size()]) ;
    Cette ligne initialise bien ma propriété à la bonne taille dans l'ActionLoad.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    String[] tabEditer = (String[])dotationForm.getStrings("impressionEtiquettes");
    Cette ligne récupère la propriété (donc bien initialisé) dans l'ActionPrint mais même si mon tableau comprend le bon nombre de colonne, elle sont toutes null.

    Que dois-je faire pour récupérer dans ce tableau si la case est coché ou pas?

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

Discussions similaires

  1. Html:checkbox erreur dans les données listées
    Par fedora8 dans le forum Servlets/JSP
    Réponses: 0
    Dernier message: 03/05/2014, 16h55
  2. [HTML][checkbox] valider par défault
    Par hutchuck dans le forum Balisage (X)HTML et validation W3C
    Réponses: 1
    Dernier message: 28/11/2005, 11h44
  3. [HTML] Checkbox et Input text
    Par MYster dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 25/11/2005, 11h15
  4. [struts][debutant]input checkbox vs html checkbox
    Par venegan dans le forum Struts 1
    Réponses: 2
    Dernier message: 19/08/2005, 16h23
  5. html:checkbox gache tout
    Par cbi1net dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 12/08/2005, 11h02

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