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

Taglibs Java Discussion :

Checkboxes dans un foreach


Sujet :

Taglibs Java

  1. #1
    Nouveau candidat au Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2007
    Messages : 1
    Par défaut Checkboxes dans un foreach
    Bonjour,

    J'essaie de générer une série de checkboxes dont les noms sont construits sur la même racine ('droit_1', 'droit_2', 'droit_3'...). Cette génération se fait dans un tag <c:foreach>

    Mon soucis est que je n'arrive pas à changer le nom de la checkbox... La concaténation entre la racine 'droit_' et l'int qui s'incrémente ne fonctionne pas.

    J'ai oublié de dire que je travaille avec Spring et la balise checkbox est donc une <form:checkbox> dont l'attribut path doit correspondre à une propriété de mon objet form.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    		<%int i=1; %>
     
    		<c:forEach items="${accesMarchesEspecesModele.droitsClientLst}" var="droitClient" varStatus="status">
     
    			<form:checkbox path="droit_"+i value="oui"/>
    			<%i++; %>
    		</c:forEach>

  2. #2
    Futur Membre du Club
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    6
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2007
    Messages : 6
    Par défaut
    Tu devrais peut être essayer en plaçant ta concaténation dans un <c:out ... /> :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form:checkbox path='<c:out value="droit_${i}"/>' value="oui"/>
    Ou alors faire ta concaténation directement en Java:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <form:checkbox path='<%="droit_"+i%>' value="oui"/>
    Comme tu le fais toi, ça ne peut pas fonctionner puisque personne n'est chargé de réaliser la concaténation (ni JSTL, ni Java).

  3. #3
    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 ne sais pas si on peut utiliser les EL dans les tags Spring mais si c'est le cas, tu peux utiliser le tag c:set pour créer une variable qui contiendra la concaténation de la chaîne "droit_" et de la propriété index récupérée via l'attribut varStatus.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <c:forEach items="${accesMarchesEspecesModele.droitsClientLst}" var="droitClient" varStatus="status">
       <c:set var="varDroit" value="droit_${status.index}"/>
       <form:checkbox path="${varDroit}" value="oui"/>
    </c:forEach>

Discussions similaires

  1. [PHP 5.3] SELECT(avec jointure) dans un foreach de checkbox
    Par NuDub dans le forum Langage
    Réponses: 7
    Dernier message: 18/01/2010, 14h42
  2. <form:checkbox dans un <c:foreach
    Par yaugy dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 19/02/2008, 16h43
  3. Réponses: 5
    Dernier message: 30/03/2007, 20h54
  4. CheckBoxes dans un QuickReport ?
    Par Soulama dans le forum Composants VCL
    Réponses: 2
    Dernier message: 11/07/2005, 15h59
  5. [VB.NET] Insérer une colonne de CheckBox dans un DataGrid
    Par Manue.35 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 22/05/2003, 11h44

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