JSTL (Struts 1.3.10) : <c:if> n'interprète pas les arguments
Bonjour,
Mes balises <c:if> ne fonctionnent plus, quelqu'un pourrait-il me dire quelle erreur j'ai bien pu faire, d'autant plus que cela fonctionnait en fin de semaine dernière !
Voici la JSP :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79
| <%@ taglib uri="/WEB-INF/tld/struts-bean.tld" prefix="b" %>
<%@ taglib uri="/WEB-INF/tld/struts-html.tld" prefix="h" %>
<%@ taglib uri="/WEB-INF/tld/struts-logic.tld" prefix="l" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<h:html lang="fr">
<head>
<title><b:message key="application.nom"/></title>
<link type="text/css" rel="stylesheet" href="<b:message key="application.path"/>/css/style.css">
<meta http-equiv="Content-type" content="text/html; charset=ISO-8859-1">
</head>
<body>
<h1>Championnat</h1>
<l:iterate id="I1" name="championnatForm" property="table">
<table class="match">
<tr>
<l:iterate id="I2" name="I1" type="metier.bean.Rencontre">
<b:define id="J" name="I2" property="journee"/>
</l:iterate>
<th colspan="4">Journée <b:write name="J"/></th>
</tr>
<tr>
<th colspan="2">Locaux</th>
<th colspan="2">Visiteurs</th>
</tr>
<l:iterate id="I2" name="I1" type="metier.bean.Rencontre">
<tr>
<td class="droite">
<c:if test="${I2.score_r > I2.score_v}">
<span class="vainqueur">
</c:if>
<b:write name="I2" property="label_Equipe_R"/>
<c:if test="${I2.score_r > I2.score_v}">
</span>
</c:if>
</td>
<td class="centre">
<l:notEqual name="I2" property="score_r" value="-1">
<c:if test="${I2.score_r > I2.score_v}">
<span class="vainqueur">
</c:if>
<b:write name="I2" property="score_r"/>
<c:if test="${I2.score_r > I2.score_v}">
</span>
</c:if>
</l:notEqual>
</td>
<td class="centre">
<l:notEqual name="I2" property="score_v" value="-1">
<c:if test="${I2.score_v > I2.score_r}">
<span class="vainqueur">
</c:if>
<b:write name="I2" property="score_v"/>
<c:if test="${I2.score_v > I2.score_r}">
</span>
</c:if>
</l:notEqual>
</td>
<td class="gauche">
<c:if test="${I2.score_v > I2.score_r}">
<span class="vainqueur">
</c:if>
<b:write name="I2" property="label_Equipe_V"/>
<c:if test="${I2.score_v > I2.score_r}">
</span>
</c:if>
</td>
</tr>
</l:iterate>
<tr>
<td colspan="4" class="centre">
<input type="button" value="Retour" class="rouge" onclick="location.href='<b:message key="application.path"/>/accueil.do?method=init'">
</td>
</tr>
</table>
<br>
</l:iterate>
</h:html> |
Au travers des balises, deux attributs du même objet sont comparés, afin de faire apparaître en gras selon le résultat des labels...
A tout hasard, j'avais écrit dans la JSP la ligne suivante :
Code:
<c:out value="${I2.score_v}"/>
Gag, la valeur de l'attribut n'est pas affichée mais le texte I2.score_v ! :mouarf:
Si quelqu'un pouvait dire quelle erreur j'ai bien pu faire... je l'en remercie d'avance.