JSP et tag perso - Java - Programmation
Marsh Posté le 08-05-2006 à 17:52:42
ben <rtexprvalue>true</rtexprvalue>
devrait le faire. t'as bien déclaré ton tld en jsp2.x ?
(ou 1.2 ché plus quand les el ont été ajoutées)
Marsh Posté le 08-05-2006 à 19:34:48
the real moins moins a écrit : ben <rtexprvalue>true</rtexprvalue> |
D'après ce que j'ai compris, le rtexprvalue c'est seulement pour pouvoir utiliser des scriplets, par exemple :
<perso:afficher value="<%=maValeur%>" /> |
Ensuite, j'ai regarder le tld du taglib core, et l'attribut value de c: out a un rtexprvalue qui vaut false, alors qu'on peut lui passer des valeurs comme ${maValeur}.
Et enfin, je suis en JSP1.2 (pas le choix), mais je pense pas que le problème vienne de là puisque le c: out fonctionne correctement.
Je sens que je suis pas prêt d'avoir ma réponse
Marsh Posté le 08-05-2006 à 19:46:47
oui mais le c:out que tu utilises en 1.2 il fait le parsing de l'el lui-même.
tu sais que tu peux mater le code hein, c'est open source
Marsh Posté le 08-05-2006 à 19:52:43
Justement j'ai regardé, et je pige pas comment il récupère la valeur passée dans l'attribut value (y'a pas de méthode setValue()).
Et, en tout cas dans la classe OutSupport.java, j'ai trouvé aucune trace d'une quelconque analyse de l'EL.
Marsh Posté le 08-05-2006 à 17:40:47
Bonjour,
J'essaie de créer un bête tag qui simule un <c: out />.
Je veux donc pouvoir afficher une valeur en faisant : <perso:afficher value="${maValeur} />
Voici les différents fichiers que j'ai :
perso.tld
...
<tag>
<name>afficher</name>
<tag-class>tags.Afficher</tag-class>
<attribute>
<name>value</name>
<required>true</required>
<rtexprvalue>false</rtexprvalue>
</attribute>
</tag>
...
Afficher.java
Et la JSP avec laquelle je teste :
Voici ce que j'obtiens dans mon navigateur :
1 = ${maValeur}
2 = ${maValeur}
3 = ${maValeur}
4 = ${maValeur}
5 = ${maValeur}
Le problème est donc que le contenu de mon attribut "value" (ici une EL) n'est pas interpreté (alors qu'avec la balise c: out, oui).
J'ai essayé de passer le "rtexprvalue" à true dans mon tld, mais ça ne change rien (et de toute façon d'après ce que j'ai lu, ça ne sert pas à ça).
Quelqu'un aurait une idée ?
Message édité par _john_doe_ le 08-05-2006 à 17:41:46