Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1187 connectés 

  FORUM HardWare.fr
  Programmation
  Java

  JSP et tag perso

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

JSP et tag perso

n°1361859
_john_doe_
Posté le 08-05-2006 à 17:40:47  profilanswer
 

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

Code :
  1. ...
  2. public class Afficher extends TagSupport {
  3.     private String value;
  4.     private JspWriter out;
  5.     public int doStartTag() throws JspException {
  6.         out = pageContext.getOut();
  7.         try {
  8.             out.print(value);
  9.         } catch (IOException e) {
  10.             // TODO Auto-generated catch block
  11.             e.printStackTrace();
  12.         }
  13.         return SKIP_BODY;
  14.     }
  15.     public void setValue(String value) {
  16.         this.value = value;
  17.     }
  18. }


 
    Et la JSP avec laquelle je teste :

Code :
  1. <%@ page language="Java" import="java.util.*" %>
  2. <%@ taglib uri="http://java.sun.com/jstl/core" prefix="c" %>
  3. <%@ taglib uri="http://perso" prefix="perso" %>
  4. <c:forEach var="maValeur" begin="1" end="5">
  5.     <c:out value="${maValeur}" /> = <perso:afficher value="${maValeur}" />
  6.     <br/>
  7. </c:forEach>



    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
mood
Publicité
Posté le 08-05-2006 à 17:40:47  profilanswer
 

n°1361876
the real m​oins moins
Posté le 08-05-2006 à 17:52:42  profilanswer
 

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)


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°1361936
_john_doe_
Posté le 08-05-2006 à 19:34:48  profilanswer
 

the real moins moins a écrit :

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)


 
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 :(


Message édité par _john_doe_ le 08-05-2006 à 19:36:05
n°1361945
the real m​oins moins
Posté le 08-05-2006 à 19:46:47  profilanswer
 

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 [:mlc] [:mlc] [:mlc]


---------------
Hey toi, tu veux acheter des minifigurines Lego, non ?
n°1361949
_john_doe_
Posté le 08-05-2006 à 19:52:43  profilanswer
 

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.


Message édité par _john_doe_ le 08-05-2006 à 19:54:01

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  JSP et tag perso

 

Sujets relatifs
[HTML/CSS]Submit d'un form (touche entrée) avec bouton submit perso?Pb PhpMyvisites sur mon site perso
[JSP/Servlet] Comment envoyer une string sans passer par des javabeanJSP/JSTL et passage de variables...(débutant)
[Avis] La toute nouvelle version de mon site persoApplication perso sur Palm Zire 31 ?
Vos avis: mon jeu amateur Sonic 3D ( moteur perso OpenGL )Problème de compilation d'une JSP
JSP : fonction qui coince avec un simple forconnection à la BD Oracle via JSP
Plus de sujets relatifs à : JSP et tag perso


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR