-
Problème avec une table
Bonjour,
J'ai un problème avec le tag JSTL <c:out>.
Voici mon problème : j'ai une page qui affiche une table dont la propriété border vaut 1. Pour remplir cette table, j'utilise une boucle <c:forEach> sur une ArrayList. Certaines occurences de cette liste peuvent contenir une chaine vide et donc la case HTMl de cette occurence a l'aspect d'un bord. Dans mon tag <c:out>, j'ai mis " " dans la propriété default. Dans ce cas, la table s'affiche mais je n'ai pas un espace comme je l'attendais j'obtiens à la palce la chaine " ".
Pouvez-vous me dire comment corriger ce problème ?
Merci d'avance.
-
Code:
<c:out value="${product.listPrice}" escapeXml="false" />
je pense
-
Salut,
Le tag c;out protège certains caractères spécifiques du XML afin qu'il soit affiché correctement. Ainsi par exemple, le caractère & est remplacé par & qui sera ensuite interprété par le navigateur comme le caractère & et non pas comme un caractère spécial...
Si tu ne veux pas que cela se produise, il te faut alors utiliser le paramètre escapeXml :
Code:
<c:out value="${data}" default=" " escapeXml="false"/>
Plus d'info : http://adiguba.developpez.com/tutori.../jstl/#L-c:out
Par contre cela peut te poser des problèmes si les données à afficher doivent être protégées, dans ce cas tu peux soit utiliser un c:if soit mettre le nbsp dans tous les cas :
Code:
<c:out value="${data}"/>
a++
PS : il me semble qu'il est également possible de spécifier comment afficher les cellules vides via les feuilles de style CSS...
PS2 : grillé par lunatix...
-
MErci pour vos réponses, cela fonctionne impeccablement maintenant. :wink: