IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Taglibs Java Discussion :

Passer une variable comme valeur d'attribut d'un tag jsp [Custom Tags 1.2]


Sujet :

Taglibs Java

  1. #1
    Pi2
    Pi2 est déconnecté
    Membre actif

    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 134
    Points : 234
    Points
    234
    Par défaut Passer une variable comme valeur d'attribut d'un tag jsp
    Bonjour,
    j'aimerais passer le nom d'une variable, contenue dans le context de la page,
    comme valeur d'un attribut d'un tag (html ou jsp) contenu dans ma page jsp.
    Avec JSP2.0, rien de plus simple:
    <leTag unAttribut="${maVariable}" />

    malheureusement, je suis en JSP1.2 ... Comment faire dans ce cas,svp?
    En fait, j'ai developpe un tag qui itere sur une liste calculee en interne et, a chaque ietration, met a jour dans le contexte la valeur d'une variable qui est utilisee par le corps du tag d'iteration.

    Merci.

  2. #2
    Expert éminent

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Points : 7 778
    Points
    7 778
    Par défaut
    Tu peux utiliser une scriptlet comme ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <leTag unAttribut="<%=maVariable%>" />
    Modératrice Java - Struts, Servlets/JSP, ...

  3. #3
    Pi2
    Pi2 est déconnecté
    Membre actif

    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 134
    Points : 234
    Points
    234
    Par défaut
    deja essaye mais ca ne fonctionne pas car il n'interprete pas et considere la scriptlet comme une chaine de caractere. :-(

  4. #4
    Pi2
    Pi2 est déconnecté
    Membre actif

    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 134
    Points : 234
    Points
    234
    Par défaut
    Je complete ma reponse:

    mon code est:
    <sew:option name="<%=variableName%>" />

    du coup, j'obtiens cette erreur:

    javax.xml.transform.TransformerException: The value of attribute "name" associated with an element type "sew:option" must not contain the '<' character.

    que faire?

  5. #5
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Points : 948
    Points
    948
    Par défaut
    Je suis en jsp 1.2 comme toi, dans une de mes pages, j'ai un iterate avec un indexId, dans un autre tag (ci dessous), contenu dans l'iterate, j'ai besoins de cet index, je fais donc ça pour le récupérer:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <nested:text styleId="<%=pageContext.getAttribute("indexIsole")%> .../>
    Ca marche => contrôle le scope du bean que tu tentes d'atteindre.

    Sun Certified Business Component Developer
    Sun Certified Java Programmer
    --
    The definitive toolbox for GWT applications: gwt-toolbox
    My blog about Java and JEE: Benjamin's Blog

  6. #6
    Pi2
    Pi2 est déconnecté
    Membre actif

    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 134
    Points : 234
    Points
    234
    Par défaut
    je viens de comprendre le hic!
    c'est qu'en fait, ma feuille initiale est un xml auquel j'applique une feuille xsl et dont le resultat est une jsp.
    et c'est le transformeur qui applique la xsl qui n'accepte pas ce format (<%=...). Il faudrait qu'il soit escape, non?

  7. #7
    Membre éprouvé

    Profil pro
    Inscrit en
    Juin 2004
    Messages
    882
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Juin 2004
    Messages : 882
    Points : 948
    Points
    948
    Par défaut
    Citation Envoyé par Pi2
    je viens de comprendre le hic!
    c'est qu'en fait, ma feuille initiale est un xml auquel j'applique une feuille xsl et dont le resultat est une jsp.
    et c'est le transformeur qui applique la xsl qui n'accepte pas ce format (<%=...). Il faudrait qu'il soit escape, non?
    oui, c'est clair peut etre avec un CDATA non (j'en suis pas sur)?

    Sun Certified Business Component Developer
    Sun Certified Java Programmer
    --
    The definitive toolbox for GWT applications: gwt-toolbox
    My blog about Java and JEE: Benjamin's Blog

  8. #8
    Pi2
    Pi2 est déconnecté
    Membre actif

    Profil pro
    Inscrit en
    Septembre 2005
    Messages
    134
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2005
    Messages : 134
    Points : 234
    Points
    234
    Par défaut
    Solution trouvee:

    dans la page xml:
    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
     
    ...
    <monTag monAtt="${maVariable}" />
    ...
     
    dans la feuille xsl:
     
    ...
    <xsl:for-each select="@*">
          <xsl:choose>                    
            <xsl:when test="contains(.,'${')">
                 <xsl:attribute name="{name()}">
                    <xsl:value-of select="substring-before(.,'${')"/>
    	      	    <xsl:text disable-output-escaping='yes'>&lt;%=</xsl:text>
    		        <xsl:value-of select="substring-before(substring-after(.,'${'),'}')"/>
    		        <xsl:text disable-output-escaping='yes'>%&gt;</xsl:text>
    		        <xsl:value-of select="substring-after(.,'}')"/>
    		     </xsl:attribute>   
            </xsl:when>
           ...
    et le tour est joue. voila.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [MySQL] Passer une variable PHP comme paramètre JS
    Par baderahmed dans le forum PHP & Base de données
    Réponses: 3
    Dernier message: 29/08/2009, 15h00
  2. passer une variable js comme argument en php
    Par moncef357 dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 22/08/2008, 15h48
  3. [MySQL] Passer une variable en valeur à un select
    Par piotrr dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 01/10/2007, 17h44
  4. [XSLT]Mettre une variable comme attribut
    Par Oberown dans le forum XSL/XSLT/XPATH
    Réponses: 9
    Dernier message: 29/09/2006, 10h47
  5. donner la valeur d'une variable comme nom de table
    Par cladsam dans le forum MS SQL Server
    Réponses: 1
    Dernier message: 14/10/2005, 15h16

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo