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

Struts 1 Java Discussion :

Utiliser un tag dans un customtag


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 49
    Par défaut Utiliser un tag dans un customtag
    Bonjour,

    J'ai créé un custom tag, avec la classe et la méthode doTag() qui va avec. Est-il possible, dans ce doTag(), de faire appel à un tag de la taglib c ? Par exemple pour faire un c:import ?

    Merci d'avance.

  2. #2
    Membre chevronné

    Profil pro
    Inscrit en
    Mars 2007
    Messages
    392
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 392
    Par défaut
    Si tu veux dans ton tag utiliser ce qui est fait dans le taglib c:import, tu dois soit copier/coller le code à partir de la class Java liée au tag c:import, soit faire en sorte que ton tag extends le tag de la class Java liée au tag c:import... (org.apache.taglibs.standard.tag.rt.core.ImportTag)

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2007
    Messages : 36
    Par défaut
    Tu peux aussi récupérer le code html généré par la balise c:import et l'implémenter dans ton Tag...

  4. #4
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 49
    Par défaut
    Merci pour vos réponses, qui amènent d'autres questions:

    Comment hériter de la classe implémentant le tag import peut résoudre mon problème ?
    Concernant le code de ce tag import, où peut-on en trouver la source ?

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2007
    Messages : 36
    Par défaut
    Va faire un tour sur cette page (http://adiguba.developpez.com/tutoriels/j2ee/jsp/jstl/) je pense qu'il y a tout ce qu'il te faut comme infos sur la JSTL

  6. #6
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 49
    Par défaut
    J'avais déjà été voir. Je n'ai peut-être pas regardé là où il faut, mais je n'ai trouvé aucune information susceptible de m'aider à faire ce que je veux.

  7. #7
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 49
    Par défaut
    J'ai trouvé une solution. Seulement, pour la trouver, j'ai du refaire mon tag en le faisant hériter de TagSupport, et plus SimpleTagSupport (repasser donc aux tag 1.2).

    Après, pour appeler le tag c:import, je fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    		ImportTag it = new ImportTag();
    		it.setPageContext(pageContext);
    		it.setUrl("nsFooter.jsp");
    		it.doStartTag();
    		it.doEndTag();
    		it.release();
    Je suppose que ça marcherait avec n'importe quel autre tag, en ajoutant au besoin l'appel aux méthodes pour prendre en charge le bodyContent des tags.

    Par contre, ce serait encore mieux si je pouvais faire la même chose en tag 2.0, mais bon, en attendant ça fera l'affaire.

  8. #8
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    36
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Finistère (Bretagne)

    Informations forums :
    Inscription : Avril 2007
    Messages : 36
    Par défaut
    Bien joué : ca marche aussi chez moi ...

  9. #9
    Expert confirmé
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Par défaut
    Bonjour.
    J'ai pas exactement le code qui fait ce que tu veux (je l'ai à la maison et je uis au boulot), mais je me rappelle comment je l'ai déja fait.
    La méthode qui fera ton bonheur est :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    public abstract void include(java.lang.String relativeUrlPath)
                          throws ServletException,
                                 java.io.IOException
    dans la classe PageContext.

    Tu peux récuperer une instance qui implémente cette méthode en faisant appel à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PageContext pc = (PageContext)SimpleTagSupport.getJspContext()
    Tu peux donc revenir à JSP 2.0 au lieu de 1.2 !

  10. #10
    Membre averti
    Inscrit en
    Avril 2007
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 49
    Par défaut
    Ah oué, si on peut caster le jspContext en pageContext ça aide beaucoup

    Merci Modjo, tout marche impecc', et plus facilement qu'avec ma solution ^^

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

Discussions similaires

  1. Utiliser une classe dans un tag
    Par anthonyplay dans le forum Taglibs
    Réponses: 1
    Dernier message: 19/01/2011, 09h55
  2. [HTML] utilisation de variables dans un tag
    Par raimo dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 16/05/2008, 17h14
  3. utiliser un tag de struts dans un taglibs
    Par Boosters dans le forum Struts 1
    Réponses: 3
    Dernier message: 19/06/2006, 18h18
  4. utiliser un bean dans le tags html:link
    Par clement42 dans le forum Struts 1
    Réponses: 3
    Dernier message: 29/07/2005, 18h36

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