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 :

Checkbox dans listes imbriquées et rechargement de page


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2003
    Messages : 85
    Par défaut Checkbox dans listes imbriquées et rechargement de page
    Bonjour tertous !

    Le problème du jour est le suivant :

    Dans mon application j'ai une série de check box. Ces dernières sont cloisonnées dans deux listes imbriquées.

    Visuellement on a


    Bon c'est une version de dev, la mise ne page est super pourrie.

    Le truc c'est qu'avec les boutons "Ajouter une cible" ou "ajouter une tranche horaire" je rajoute une ligne en haut ou en bas.

    Pour cela je recharge la page. J'ai dèrrière recréé un objet trancheHoraire ou cible.

    Le truc c'est que je voudrais que quand je coche la case, au rechargement elle le soit toujours. Pour le moment je perd les infos de cochage (et uniquement celle ci) quand j'ajoute une ligne...

    Les données à savoir :

    - Oui je suis bien en session, vu que le texte saisi reste quand j'ajoute une ligne
    - le code JSP incriminé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <nested:iterate property="listeHoraires" indexId="itt">
    	<tr>
    		<td><nested:text property="heureDeb" /></td>
    		<td><nested:text property="heureFin" /></td>
    		<nested:iterate property="periodes" indexId="ittPeriode" id="prds">
    			<td><nested:checkbox name="prds" property="flagActifIHM"/></td>
    		</nested:iterate>
    	</tr>
    </nested:iterate>
    J'ai toujours du mal avec ces checkbox, mais là je bloque pas mal

    J'ai fait pas mal de recherche sur le forum, je n'ai pas trouvé de problème similaire.

    Je suis également au courant du problème des checkbox et du resetCheckBox à mettre dans le reset, mais rien n'y fait.

    Merci de votre aide !

  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
    Si tu es en J2EE 1.4 ou plus, le code suivant devrait fonctionner :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <nested:iterate property="listeHoraires" indexId="itt">
    <tr>
    	<td><nested:text property="heureDeb" /></td>
    	<td><nested:text property="heureFin" /></td>
    	<nested:iterate property="periodes" indexId="ittPeriode" id="prds">
    		<td><html:checkbox property="listeHoraires[${itt}].periodes[${ittPeriod}].flagActifIHM"/></td>
    	</nested:iterate>
    </tr>
    </nested:iterate>

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2003
    Messages : 85
    Par défaut
    Ben ça marche pas super super. Pour ne pas dire pas du tout.

    Après tatonage et erreurs en tout genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <logic:iterate name="horaires" property="periodes" indexId="ittPeriode" id="prds">
    		<td><html:checkbox name="EditCibleActionForm" property="listeHoraires[${itt}].periodes[${ittPeriod}].flagActifIHM"/></td>
    </logic:iterate>
    avec toujours en sortie :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    02/04/2009 12:57:55 [ERROR] - "Servlet.service()" pour la servlet action a généré une exception
    javax.servlet.jsp.JspException: Invalid argument looking up property: "listeHoraires[${itt}].periodes[${ittPeriod}].flagActifIHM" of bean: "EditCibleActionForm"

  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
    Manifestement, les EL ne sont pas interprétées.
    Tu n'es donc pas en J2EE 1.4.
    Dans ce cas, il faut utiliser la tld struts-html-el.tld :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html-el:checkbox property="listeHoraires[${itt}].periodes[${ittPeriod}].flagActifIHM"/>
    sans oublier d'ajouter au début de la jsp la directive taglib qui pointe sur cette tld.

    ou alors tu peux utiliser une scriptlet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:checkbox property="<%="listeHoraires["+itt+"].periodes["+ittPeriod+"].flagActifIHM"%>"/>

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    85
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2003
    Messages : 85
    Par défaut
    Je suis en java 1.5.

    Sinon j'ai creusé un peu plus.

    Et chose que tu ne pouvais ni voir ni deviner ma très chère c_nvy c'est que ma liste periodes etait une Hashset.

    Et Struts est pas fan.

    Une fois changé en collection. Ça va de suite beaucoup mieux.

    Sujet clos donc.

    Merci pour le coup de main !

  6. #6
    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
    Je parlais de la version de J2EE et non de Java, ce qui n'est pas la même chose.

    Sinon, ça ne peut effectivement pas fonctionner avec une HashSet tout simplement parce qu'il n'existe pas de getter avec index sur une HashSet.

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

Discussions similaires

  1. Réécrire dans un div sans recharger la page
    Par Daviloppeur dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 25/05/2011, 17h07
  2. [PHP 5.0] checkbox dans liste
    Par jdavid dans le forum Langage
    Réponses: 6
    Dernier message: 26/03/2009, 12h14
  3. [javascript/html] Recharger une page après choix dans liste
    Par pitchoblack dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 20/04/2008, 16h58
  4. [javascript/php]Recharger une page après choix dans liste déroulante
    Par eyango dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 18/01/2008, 13h34
  5. Présentation dans des listes imbriquées
    Par Ghusse dans le forum Balisage (X)HTML et validation W3C
    Réponses: 6
    Dernier message: 29/09/2005, 09h35

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