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 :

sauter une ligne dans un logic:iterate


Sujet :

Struts 1 Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 64
    Par défaut sauter une ligne dans un logic:iterate
    Bonjour

    J'ai une liste de n éléments à afficher et je souhaiterais n'en afficher que 5 par ligne donc sauter une ligne ts les 5.
    Voici mon code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <logic:iterate indexId="i" id="unePersonne" type="Personne" name="myForm" property="listePersonne" 		
    <bean:define id="nom" name="unePersonne" property="nomPatronym" />
    <bean:write name="nom" filter="true" /></logic:iterate>
    Merci d'avance

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 75
    Par défaut
    Tu peux tester le modulo 5 de i dans une scriplet afin d'insérer conditionnellement un saut de ligne. L'attribut indexId="i" que tu as judicieusement placé est là pour ça.

    Autre remarque, je ne suis pas certain que tu soit obligé d'utiliser bean:define.
    As tu essayé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <bean:write name="unePersonne" property="nom" filter="true" />
    Si

  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
    Effectivement, le bean:define n'est pas utile.
    Par contre, ce serait plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <bean:write name="unePersonne" property="nomPatronym" filter="true" />
    Sinon, pour éviter les scriptlets, tu peux utiliser la JSTL :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <table border="1">
       <c:forEach items="${myForm.listePersonne}" var="unePersonne" varStatus="status">
    		<c:if test="${status.index % 5 == 0}"> 
    			<tr> 
    		</c:if> 
    			<td><c:out value="${unePersonne.nomPatronym}"/></td>
    		<c:if test="${status.index % 5 == 8}"> 
    			</tr> 
    		</c:if> 
       </c:forEach>
    </table>

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    75
    Détails du profil
    Informations personnelles :
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Septembre 2004
    Messages : 75
    Par défaut
    Effectivement, je connais très mal la JSTL. Par contre, je trouve dommage de ne pas utiliser la bibliothèque de tags struts quand on travaille en struts (mais c'est très subjectif).

  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
    Citation Envoyé par cocula Voir le message
    Effectivement, je connais très mal la JSTL. Par contre, je trouve dommage de ne pas utiliser la bibliothèque de tags struts quand on travaille en struts (mais c'est très subjectif).
    Moi aussi j'utilise de préférence les tags Struts mais je préfère aussi éviter les scriptlets.
    Donc, dans un cas comme celui-là, je trouve plus propre d'utiliser la JSTL.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 64
    Par défaut
    Bonjour
    merci pour vos réponses. Par contre, je ne connais pas les JSTL : si j'ai bien compris c'est soit le foreach de la jstl soit le logic:iterate de strauts mais pas les 2?

  7. #7
    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
    Tu dois pouvoir faire un "mix" des deux en utilisant le logic:iterate et les tags c:if :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <logic:iterate indexId="i" id="unePersonne" type="Personne" name="myForm" property="listePersonne">
       <c:if test="${i % 5 == 0}"> 
    	<tr> 
       </c:if> 
    	<td><bean:write name="unePersonne" property="nomPatronym" filter="true" /></td>
       <c:if test="${i % 5 == 8}"> 
    	</tr> 
      </c:if> 
    </logic:iterate>
    Sinon, si tu ne souhaites pas utiliser la JSTL, tu peux utiliser seulement les tags Struts avec des scriptlets, comme te l'a indiqué cocula :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <logic:iterate indexId="i" id="unePersonne" type="Personne" name="myForm" property="listePersonne">
       <% if ( (i.intValue() % 5) == 0 ) { %>
       <tr>
       <% } %>
            <td><bean:write name="unePersonne" property="nomPatronym" filter="true"/></td>
       <% if ( (i.intValue() % 5) == 8 ) { %>
          </tr>
       <% } %>
    </logic:iterate>

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2008
    Messages : 64
    Par défaut
    Merci beaucoup, effectivement je préfère avec les scriptlets

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

Discussions similaires

  1. sauter une ligne dans un array
    Par washh dans le forum Langage
    Réponses: 4
    Dernier message: 22/07/2008, 16h02
  2. Comment sauter une ligne dans une légende ?
    Par Fox213 dans le forum Mise en forme
    Réponses: 6
    Dernier message: 06/06/2007, 10h01
  3. [debutant] sauter une ligne dans l'ecriture d'un fichier
    Par nadhem dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 09/08/2006, 09h51
  4. sauter une ligne dans une ComboBox
    Par guigui5931 dans le forum IHM
    Réponses: 3
    Dernier message: 09/06/2006, 11h03
  5. [D7] Comment sauter une ligne dans un titre de grid ?
    Par Magnus dans le forum Composants VCL
    Réponses: 2
    Dernier message: 29/04/2005, 12h47

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