2 votes

Pourquoi mon jstl <c:if test="(devrait être vrai)"> renvoie même les articles faux?

J'ai une liste de valeurs d'objet, l'un des champs de chaque valeur d'objet est un booléen nommé "displayable".

voici mon code:

<% int z = 1 %>

    <% String className = (z % 2 == 1) ? "Odd" : ""; %>

            /* il y a dix éléments dans cette liste
            8 des value.displayable sont true
            2 sont false */

             titre 
             lien 

    <% ++z; %>

De cette boucle je devrais seulement obtenir des éléments corrects? d'une manière ou d'une autre, je reçois les 10 éléments.

3voto

Costi Ciudatu Points 13020

Je prendrai votre mot pour le fait que deux de ces éléments ont displayable == false. Dans ce cas, je suppose que vous obtenez une liste de 10

éléments mais deux d'entre eux n'ont pas les liens "title" et "link" à l'intérieur.

Cela se produit parce que vous affichez les balises

(et changez la classe css, et incrémentez le compteur z) en ignorant si l'élément actuel est displayable ou non. Mettez tout le contenu de cette boucle for (scriptlets et) à l'intérieur du de sorte que vous afficherez uniquement les éléments de la liste lorsque l'élément est displayable.

1voto

Ramesh Kotha Points 3805

Vous pouvez réécrire le code comme ceci

                 titre 
                 lien 

                 titre 
                 lien

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X