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 un objet à un tag [Custom Tags]


Sujet :

Taglibs Java

  1. #1
    Membre habitué Avatar de agougeon
    Inscrit en
    Mai 2005
    Messages
    253
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 253
    Points : 147
    Points
    147
    Par défaut Passer un objet à un tag
    Bonjour,

    J'ai crée un tag qui permet d'afficher un arbre (arborescence) dans une passe jsp, mais je me rend compte qu'il me faut passer a ce tag une liste d'objet. Cette liste n'est pas static, elle varie celon les opérations sur la page... et je rafraichi la page a chaque opération. C'est à dire que je ne peux pas mettre dans le code du tag un code du type :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    MaListe liste = new MaListe();
    Est ce que je passer une collection d'objet à un tag...? si oui comment?

    Merci

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Ce que tu peux faire, c'est utiliser un attribut de tag (<xxx:montag attribut="...">) qui indique le nom d'un attribut de request. Cet attribut de request est alors mis à jour à chaque appel de la page, soit par le servlet, soit par le code précédent l'appel du tag. Le tag récupère alors directement l'attribut de request avec ce nom.

    Du détail, du détail, du détail !!!
    Revenons à la source : lisons la documentation et les fichiers de trace, la réponse à notre problème s'y trouve sans doute

  3. #3
    Membre habitué Avatar de agougeon
    Inscrit en
    Mai 2005
    Messages
    253
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 253
    Points : 147
    Points
    147
    Par défaut
    ok, si j'ai bien compris mon objet et dans la requete sous le nom "liste" de type ArrayList.
    et dans mon tag je fais
    (<xxx:montag attribut="liste">)

    et dans mon code du tag je le recupere avec un getMethode et ce sera bien une arraylist?

  4. #4
    Expert éminent sénior
    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
    Points : 23 190
    Points
    23 190
    Billets dans le blog
    1
    Par défaut
    Salut,


    Il faut que tu déclares un attribut de ton tag avec rtexprvalue à true. Cela permet d'indiquer que la valeur de l'attribut doit être évalué à l'exécution et non à la compilation de la JSP (rtexprvalue == Runtime Expression Value) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    <tag>
    		<name>tonTag</name>
    		<tagclass>package.NomClasse</tagclass>
    		<bodycontent>JSP</bodycontent>
    		<attribute>
    			<name>list</name>
    			<rtexprvalue>true</rtexprvalue>
    		</attribute>
    	</tag>
    Tu peux ensuite utiliser une scriplet ou les EL pour passer ton objet :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <x:tonTag list="<%= taListe %>"/>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <x:tonTag list="${taListe}"/>
    Plus d'info : Les JSP Taglibs

    a++

  5. #5
    Membre habitué Avatar de agougeon
    Inscrit en
    Mai 2005
    Messages
    253
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 253
    Points : 147
    Points
    147
    Par défaut
    bon merci, ça doit suffir.. je vais tester.

    Merci

  6. #6
    Membre habitué Avatar de agougeon
    Inscrit en
    Mai 2005
    Messages
    253
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 253
    Points : 147
    Points
    147
    Par défaut
    Je test en placant une arraylist dans la requete et j'ai l'erreur :

    jsp.error.beans.property.conversion

    Que dois je fair?

  7. #7
    Membre habitué Avatar de agougeon
    Inscrit en
    Mai 2005
    Messages
    253
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 253
    Points : 147
    Points
    147
    Par défaut
    J'ai reussi a recuperer une ArrayList, mais elle est toujours null, alors que je l'initialise bien...
    je fais :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    request.setAttributes("liste", Maliste);

  8. #8
    Membre habitué Avatar de agougeon
    Inscrit en
    Mai 2005
    Messages
    253
    Détails du profil
    Informations forums :
    Inscription : Mai 2005
    Messages : 253
    Points : 147
    Points
    147
    Par défaut
    j'ai trouvé mon erreur, bon en fait dans ma jsp je faisai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    list="<%= (ArrayList)pageContext.getAttribute("test")%>"
    alors qu'il faut fair :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    list="<%= (ArrayList)pageContext.getRequest().getAttribute("test")%>"
    Encore merci

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

Discussions similaires

  1. [JSP][STRUTS] Passer des objets à une classe action
    Par maphi dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 10/08/2005, 16h55
  2. [JACOB] Comment passer un objet par référence à une méthode
    Par zlavock dans le forum Entrée/Sortie
    Réponses: 4
    Dernier message: 21/03/2005, 18h28
  3. [SAX] Passer d'objet java en fichier XML?
    Par spoutyoyo dans le forum Format d'échange (XML, JSON...)
    Réponses: 15
    Dernier message: 05/01/2005, 08h31
  4. [POO] Passer un objet HTML en argument.
    Par defacta dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 17/12/2004, 10h44

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