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 :

EL valeur d'attribut d'un taglib


Sujet :

Taglibs Java

  1. #1
    Membre éprouvé Avatar de totoche
    Inscrit en
    Janvier 2004
    Messages
    1 090
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 090
    Par défaut EL valeur d'attribut d'un taglib
    Bonjour ,
    Comment fait on pour utilser une EL comme valeur d'attribut d'un taglib
    JSP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
     
    adresse2 :  <mestaglibs:adresse ligne2 = "${adresse.line2}"/>
    classe Adresse
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    ...
        public int doStartTag() throws JspException {
    	try {
                       this.line2="test";
     
                       pageContext.setAttribute(?????, ???);
                       }catch (Exception e){
    			throw new JspException ("I/O Error", e);
    		}
    		return SKIP_BODY;
    si je n'utilise pas de taglib mais une simple servlet je fais comme ceci et ça marche)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
            Adresse adresse= new Adresse();
            adresse.setLine2("test");
            request.setAttribute("adresse2", adresse);
    dans la jsp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <input type="text" name="name" value="${requestScope['adresse2'].line2}"/> (scope request) <br/>
    merci de votre aide

  2. #2
    Membre émérite Avatar de Lorantus
    Homme Profil pro
    Consultant développeur indépendant / Java/VB/C(++)/ObjectPal
    Inscrit en
    Août 2007
    Messages
    599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant développeur indépendant / Java/VB/C(++)/ObjectPal

    Informations forums :
    Inscription : Août 2007
    Messages : 599
    Par défaut
    As-tu mis le parametre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <rtexprvalue>true</rtexprvalue>
    pour le tag adresse dans le descripteur de tag (.tld) ?
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <tag>
    <name>adresse</name>
    ...
    <attribute>
    <name>ligne2</name>
    ...
    <rtexprvalue>true</rtexprvalue>
    </attribute>
    </tag>

  3. #3
    Membre éprouvé Avatar de totoche
    Inscrit en
    Janvier 2004
    Messages
    1 090
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 090
    Par défaut
    Oui

  4. #4
    Membre émérite Avatar de Lorantus
    Homme Profil pro
    Consultant développeur indépendant / Java/VB/C(++)/ObjectPal
    Inscrit en
    Août 2007
    Messages
    599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant développeur indépendant / Java/VB/C(++)/ObjectPal

    Informations forums :
    Inscription : Août 2007
    Messages : 599
    Par défaut
    Je relis la question, je suis un peu dérouté....

    Que veux tu faire ? Récupérer la valeur du membre 'line2' de l'objet pointé par la clef 'adresse' dan sune des map request, session, page ? Ou attribuer une valeur à ce membre ? Je comprend pas trop le
    pageContext.setAttribute(?????, ???);
    Si tu veux bien récupérer une valeur calculée par el, tu as tout ce qu'il te faut avec un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    void setLine2(String valeur)
    {
     this.line2=valeur;
    }
    Après, tu fais le traitement dans doStartTag() lors de l'ouverture du tag.

  5. #5
    Membre éprouvé Avatar de totoche
    Inscrit en
    Janvier 2004
    Messages
    1 090
    Détails du profil
    Informations forums :
    Inscription : Janvier 2004
    Messages : 1 090
    Par défaut
    Bonjour Lorantus, je suis désolé de la fréquence de mes réponses et je te remercie de ton aide
    dans mon dtl :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <tag>
    <name>adresse</name>
    <tagclass>metier.Address</tagclass>
            <attribute>
                    <name>ligne2</name>
                    <rtexprvalue>true</rtexprvalue>
            </attribute>
    ...
    dans ma jsp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    adresse2 :  <mestaglibs:adresse ligne2 = "${ligne2.line2}"/>
    dans ma classe Adresse
    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
     
    public class Address extends TagSupport{
     
    	private String line2;
     
      public int doStartTag() throws JspException {
     
    		try {
                       Address adress = new Address();
                       adress.line2="test";
                       pageContext.setAttribute("ligne2", adress);                    
                    }catch (Exception e){
    			throw new JspException ("I/O Error", e);
    		}
    		return SKIP_BODY;
     
    	}
    Je souhaite donc afficher :
    adresse2 : test
    merci de ton aide

  6. #6
    Membre émérite Avatar de Lorantus
    Homme Profil pro
    Consultant développeur indépendant / Java/VB/C(++)/ObjectPal
    Inscrit en
    Août 2007
    Messages
    599
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Consultant développeur indépendant / Java/VB/C(++)/ObjectPal

    Informations forums :
    Inscription : Août 2007
    Messages : 599
    Par défaut
    Attention à ne pas confondre la classe Adresse et la classe du tag adresse ! -ou Address avec Addresse... ou .... je sais plus, trop de 'dd' et de 'ssss'... Je te laisse caler cela.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    public class Address extends SimpleTagSupport {
     String line2=null;
     
     public void setLine2(String line2){
      this.line2=line2;
     }
     
     public void doTag() throws JSPException, IOException {
      JspWriter out=getJspContext().getOut();
      if(line2!=null)
       out.print(line2);
     }
    }
    Enfin, c'est une façon de faire...

Discussions similaires

  1. Pb lors de modification de valeur d'attribut d'une classe.
    Par cecileWaseda dans le forum C++Builder
    Réponses: 4
    Dernier message: 04/08/2006, 23h19
  2. [clone] cloner également la valeur des attributs
    Par danyboy85 dans le forum Langage
    Réponses: 25
    Dernier message: 08/07/2006, 00h00
  3. changer la valeur des attribut
    Par yos dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 23/02/2006, 14h27
  4. [Custom Tags 1.2] Passer une variable comme valeur d'attribut d'un tag jsp
    Par Pi2 dans le forum Taglibs
    Réponses: 7
    Dernier message: 16/09/2005, 14h44
  5. [Débutant] somme de la valeur d'attributs...
    Par SteelBox dans le forum XSL/XSLT/XPATH
    Réponses: 7
    Dernier message: 10/07/2004, 22h38

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