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 :

Evaluation des paramètres d'un taglib [Custom Tags]


Sujet :

Taglibs Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre chevronné Avatar de Mobius
    Profil pro
    none
    Inscrit en
    Avril 2005
    Messages
    463
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : none

    Informations forums :
    Inscription : Avril 2005
    Messages : 463
    Par défaut Evaluation des paramètres d'un taglib
    Bonjour,

    Je voudrais ecrire un taglib pour effectuer des logs sous certaines conditions.
    Je passe en parametre du taglib l'objet a loguer de la façon suivante :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <l:log message="<%=object.toString()%>" />
    Afin de gagner en performance, j'aurai voulu savoir si il était possible de ne réaliser l'évaluation du paramètre seuleument si certaine condition son réunis.
    Dans le cas contraire ce tag ne doit rien faire du tout.

  2. #2
    Membre chevronné


    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    7 855
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2003
    Messages : 7 855

  3. #3
    Expert éminent
    Avatar de adiGuba
    Homme Profil pro
    Développeur Java/Web
    Inscrit en
    Avril 2002
    Messages
    13 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java/Web
    Secteur : Transports

    Informations forums :
    Inscription : Avril 2002
    Messages : 13 938
    Billets dans le blog
    1
    Par défaut
    Salut,

    Citation Envoyé par Mobius
    Afin de gagner en performance, j'aurai voulu savoir si il était possible de ne réaliser l'évaluation du paramètre seuleument si certaine condition son réunis.
    Non ce n'est pas possible car les paramètres sont évalué AVANT l'appel à ton tag. Par exemple si la classe Java représentant ton tag s'appelle LogTag, ton tag JSP sera remplacé par le code suivant (approximativement bien sûr) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    LogTag tag = LogTag();
    tag.setPageContext(pageContext);
    tag.setMessage(object.toString());
    ... tag.doStartTag();
    ...
    Une solution dans ton cas serait de passer par le corps du tag, que tu peux évaluer ou non. Par exemple :
    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
    public class LogTag extends BodyTagSupport{
     
        public int doStartTag() throws JspException {
            if (/* Ta condition */ ) {
                // On ignore le corps du tags
                return SKIP_BODY;
            }
            // on évalue le corps du tag dans un buffer
            // (rien ne sera écrit dans la JSP)
            return EVAL_BODY_BUFFERED;
        }
     
        public int doAfterBody() throws JspException {
            // Après avoir évalué le corps du tag, on le récupère et on logge
            String message = super.bodyContent.getString();
            System.err.println( message );
            return EVAL_PAGE;
        }
    }
    que tu utilises ensuite comme ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <l:log><%=object.toString()%></l:log>
    Il faut bien sûr indiqué dans ton fichier *.tld que le corps du tag est JSP...

    a++

  4. #4
    Membre chevronné Avatar de Mobius
    Profil pro
    none
    Inscrit en
    Avril 2005
    Messages
    463
    Détails du profil
    Informations personnelles :
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : none

    Informations forums :
    Inscription : Avril 2005
    Messages : 463
    Par défaut
    Merci beaucoup

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

Discussions similaires

  1. Evaluations des paramètres d'une fonction
    Par WebPac dans le forum Langage
    Réponses: 15
    Dernier message: 06/10/2005, 09h46
  2. Récupération des paramètres avec une procedure stockée
    Par samlerouge dans le forum Bases de données
    Réponses: 2
    Dernier message: 31/03/2004, 22h00
  3. [Souris] Sauvegarde des paramètres du driver
    Par Giovanny Temgoua dans le forum x86 16-bits
    Réponses: 7
    Dernier message: 31/01/2004, 19h24
  4. Comment obtenir la liste des paramètres d'une SP ?
    Par Le Gritche dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 14/03/2003, 16h54
  5. créer un noeuds avec des paramétres
    Par Toxine77 dans le forum XMLRAD
    Réponses: 5
    Dernier message: 21/01/2003, 16h11

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