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 :

Récupérer le nom du tag [Custom Tags]


Sujet :

Taglibs Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2002
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 82
    Par défaut Récupérer le nom du tag
    Salut à tous,

    Je cherche à récuperer le nom du tag qui a appelé ma méthode doStartTag().
    Dans mon fichier de description j'ai un truc genre

    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
     
        <tag>
            <name>accueil</name>
            <tag-class>MonTag</tag-class>
            <body-content>empty</body-content>
            <display-name>accueil</display-name>
            <description></description>
            <example></example>
        </tag>
        <tag>
            <name>news</name>
            <tag-class>MonTag</tag-class>
            <body-content>empty</body-content>
            <display-name>news</display-name>
            <description></description>
            <example></example>
        </tag>
    Dans ma class java MonTag je voudrais savoir si un tag news ou acceuil qui a été choisis.

    Merci pour vos réponses

  2. #2
    Membre expérimenté
    Inscrit en
    Mars 2004
    Messages
    377
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 377
    Par défaut
    Ce qui a appelé doStartTag() est forcément ton Tag !!!

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2002
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 82
    Par défaut
    Ca ok.

    Mais quand je suis dans doStartTag() je veux savoir si c le tag accueil ou le tag news qui a été utilisé.

  4. #4
    Membre expérimenté
    Inscrit en
    Mars 2004
    Messages
    377
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 377
    Par défaut
    Je comprends pas ce que tu veux dire par :
    c le tag accueil ou le tag news qui a été utilisé.

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2002
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 82
    Par défaut
    Dans mon fichier jsp

    Quand j'utilise le tag accueil dans mon jsp et que ca appelle la méthode doStartTag() je veux faire une action bien précise pour ce tag accueil.

    Et dans l'autre cas où c'est le tag news, il faut faire une autre action.

    Je dois donc savoir quel est le tag d'origine.

  6. #6
    Membre expérimenté
    Inscrit en
    Mars 2004
    Messages
    377
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 377
    Par défaut
    Quels sont tes tags accueil et news ?
    Ce sont tes tags ?
    Sinon il te suffit de leur définir un shortname dans la tld :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <tag>
       <name>test</name>
       <tagclass>tonPackage.TestTag</tagclass>
       <bodycontent>JSP</bodycontent>
       <attribute>
        <name>roles</name>
        <required>false</required>
        <rtexprvalue>true</rtexprvalue>
       </attribute>     
      </tag>
    Ensuite dans ta JSP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <%@ taglib uri="/WEB-INF/tld/mestagsperso.tld" prefix="mestagsperso" %>
    Et l'utilisation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <mestagperso:test roles="unrole"></mestagperso:test>
    Est ce que tu as fait comme çà ?

  7. #7
    Membre confirmé
    Inscrit en
    Mars 2002
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 82
    Par défaut
    Citation Envoyé par ZeKiD
    Quels sont tes tags accueil et news ?
    Ce sont tes tags ?
    Regarde le code que j'ai mis dans mon premier message

    Sinon il te suffit de leur définir un shortname dans la tld :
    Ca me semble une bonne solution: Comment on fait pour le récupérer dans ma méthode doStartTag()

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <tag>
       <name>test</name>
       <tagclass>tonPackage.TestTag</tagclass>
       <bodycontent>JSP</bodycontent>
       <attribute>
        <name>roles</name>
        <required>false</required>
        <rtexprvalue>true</rtexprvalue>
       </attribute>     
      </tag>
    Ensuite dans ta JSP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <%@ taglib uri="/WEB-INF/tld/mestagsperso.tld" prefix="mestagsperso" %>
    Et l'utilisation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <mestagperso:test roles="unrole"></mestagperso:test>
    Est ce que tu as fait comme çà ?
    Oui c'est ca mais sans utiliser d'attribut pour mon tag.

  8. #8
    Membre expérimenté
    Inscrit en
    Mars 2004
    Messages
    377
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 377
    Par défaut
    Excuse moi pour la question co.. j'avais pas relu le début.
    En général, la manière la plus simple c'est de faire un Tag par 'accueil' ou 'news'.
    Dans ton cas effectivement je ne peux malheureusement pas dire comment il est appelé.
    Mais un conseil, découpe ton Tag en deux, et comme çà tu seras tranquille. (Struts fait comme çà !! ;-)) çà doit être la bonne solution.
    8)

  9. #9
    Membre confirmé
    Inscrit en
    Mars 2002
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 82
    Par défaut
    Malheuresement c pas générique.

    Je crois que je vais etre oblige de faire comme ca.

    J'ai vu toutefois qu'il existait la méthode getTagName de la classe TagInfo.
    Mais je ne sais pas comment en avoir une instance quand je suis dans ma méthode.

  10. #10
    Membre confirmé
    Inscrit en
    Mars 2002
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Mars 2002
    Messages : 82
    Par défaut
    A priori ce que je veux faire n'est pas possible car NetBeans ne me permet pas de créer dans le tld deux tags qui font référence à la même classe java.

  11. #11
    Membre expérimenté
    Inscrit en
    Mars 2004
    Messages
    377
    Détails du profil
    Informations forums :
    Inscription : Mars 2004
    Messages : 377
    Par défaut
    C'est bien ce qui me semblait...
    Désolé donc pour toi !!
    Pas le choix ! Faut découper !

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

Discussions similaires

  1. Comment récupérer le nom du fichier sans l'extension ?
    Par altahir007 dans le forum Langage
    Réponses: 16
    Dernier message: 13/11/2009, 13h20
  2. Réponses: 10
    Dernier message: 21/02/2007, 20h16
  3. Récupérer le nom de domaine d'appartenance d'un serveur
    Par Laurent Dardenne dans le forum Windows
    Réponses: 2
    Dernier message: 26/01/2004, 17h01
  4. Récupérer le nom de l'utilisateur sous linux
    Par Michaël dans le forum POSIX
    Réponses: 7
    Dernier message: 25/12/2003, 21h38
  5. Récupérer le nom de la machine locale
    Par Jflgb dans le forum C++Builder
    Réponses: 5
    Dernier message: 15/05/2003, 09h25

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