Bonjour,
J'ai un problème avec l'utilisation de JSTL quand j'utilise RichFaces.
Je veux faire fonctionner les tests inclus dans une balise <c:choose> mais ils ne veulent pas fonctionner:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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 <rich:dataList var="count" value="#{managedBean.counts}" id="msgdatalist"> <h:outputText value="#{count.node}" style="text-decoration:underline;"/><br/> <h:outputText value="Value: " styleClass="label" style="font-weight:bold;"></h:outputText> <h:outputText value="#{count.value}"/><br/> <h:panelGroup> <c:choose> <c:when test="${count.nodeType==2}"> <h:form><h:graphicImage value="#{count.fullImageValvePath}"/><br/> </h:form> </c:when> <c:when test="${count.nodeType==3}"> <div style="background-image:url(../images/reservoir.jpg); height:48px; width:64px"> <div> <rich:progressBar value="#{count.value}" minValue="0" maxValue="#{count.maxVolume}"/> </div> </div> </c:when> <c:when test="${count.nodeType==1}"> <div style="background-image:url(../images/pump.jpg); height:64px; width:64px"> <div> <rich:progressBar value="#{count.value}" minValue="0" maxValue="#{count.maxFlow}"/> </div> </div> </c:when> <c:otherwise> <p>Rien</p> <h:outputText value="#{count.nodeType}"/><br/> <h:outputText value="1 #{count.nodeType == 1}"/><br/> <h:outputText value="2 #{count.nodeType == 2}"/><br/> <h:outputText value="3 #{count.nodeType == 3}"/> </c:otherwise> </c:choose> </h:panelGroup> <br/> <h:outputText value="Time: " styleClass="label" style="font-weight:bold;"></h:outputText> <h:outputText value="#{count.time} "/><br/> </rich:dataList>
Quand par exemple count.nodeType == 2, le test <c:when test="${count.nodeType==2}"> semble ne pas réussir: la page m'affiche ce qu'il y a entre les balises otherwise: il m'affiche le texte Rien, la valeur de nodeType (et c'est bien la valeur 2 qu'il m'affiche) et 3 booléens (et pour #{count.nodeType == 2} il m'affiche bien true).
En clair jstl n'évalue pas mes conditions, contrairement à jsf.
Le pire, c'est que dans une autre page j'ai un test jstl analogue qui marche très bien (et j'utilise là aussi dans la même page du jsf).
Est-ce que ça peut provenir d'un problème de compatibilité avec une balise richfaces? Du genre parce que j'ai mis du jstl entre les balises rich:dataList ?
J'ai bien mis xmlns:c="http://java.sun.com/jstl/core" en haut de la page.
Partager