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 :

"Nothing found to display" et pourtant ! [DisplayTag]


Sujet :

Taglibs Java

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 65
    Points : 49
    Points
    49
    Par défaut "Nothing found to display" et pourtant !
    Bonjour,

    Je veux utiliser la librairie displaytag. Je pense l'avoir correctement installé dans mon application. Cependant, je n'arrive pas a la faire marcher...

    Je passe en session a ma JSP une arrayList contenant des objets PersonneBean. PersonneBean est une classe standard trés simple (volontairement pour les tests) :

    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
    20
    21
    22
    23
    24
    25
     
            private String nomPrenom;
    	private String mail;
     
     
    	public PersonneBean(String nomPrenom, String mail){
    		this.nomPrenom = nomPrenom;
    		this.mail = mail;
    	}
     
    	public String getMail() {
    		return mail;
    	}
     
    	public void setMail(String mail) {
    		this.mail = mail;
    	}
     
    	public String getNomPrenom() {
    		return nomPrenom;
    	}
     
    	public void setNomPrenom(String nomPrenom) {
    		this.nomPrenom = nomPrenom;
    	}
    Je passe donc en session une arraylist contenant des PersonneBean (la liste est bien remplie, j'en suis sur...) avec dans mon action :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    request.getSession(true).setAttribute("lesPers",arrayListPleineDePersonneBean);
    Dans ma JSP quand je fais :

    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
     
    <%@ taglib uri="http://displaytag.sf.net" prefix="display" %>
    ...
    <logic:present name="lesPers">
    		Bien présent pourtant
    </logic:present>
    	<display:table name="lesPers">
      		<display:column property="nomPrenom"/>
      		<display:column property="mail" />
     	</display:table>
            <br>
            <logic:iterate name="lesPers" id="toto">
    		<bean:write name="toto" property="mail"/>
    		<br>
    	</logic:iterate>
    Il m'affiche "Bien présent pourtant", juste apres un beau "Nothing found to display" et enfin il me liste bien les mails (logic:iterate), que j'ai mis pour debugger...
    Le message "nothing to display" me laisse supposé que ma bibliotheque de tagdisplay est bien installée...

    Mais pourquoi elle ne marche pas (j'ai envie de me taper la tête sur les murs..) ???

    Merci beaucoup d'avance..

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    21
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2006
    Messages : 21
    Points : 25
    Points
    25
    Par défaut
    je pense que cela vient du fait que Displaytag ne connait pas ta variable "lesPers".
    donc soit tu utilises EL
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <display:table name="${lesPers}">
    soit tu déclares une variable dans ta page avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <c:set var="maList" value="${lesPers}"/>
    et tu utilises cette variable "maList" dans displaytag.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <display:table name="maList">

  3. #3
    Membre habitué
    Inscrit en
    Avril 2004
    Messages
    170
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 170
    Points : 174
    Points
    174
    Par défaut
    Je suis du meme avis que twif mais j'essaierai plutot cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <display:table name="lesPers" scope="session">
    The path of excess
    leads to the tower of wisdom.
    (Enigma)

  4. #4
    Membre du Club
    Profil pro
    Inscrit en
    Novembre 2005
    Messages
    65
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2005
    Messages : 65
    Points : 49
    Points
    49
    Par défaut
    Exact le "scope=session" marche, sinon je dois mettre lesPers dans la request...au choix...

    Merci de votre aide !!

    A+

  5. #5
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 52
    Points : 44
    Points
    44
    Par défaut
    Bonjour à tous...

    Le code suivant est correct mais il présente un manque d'interêt quant à la complétion de code et au respect du *.tld.
    <display:table name="lesPers" scope="session">


    En effet, lorsque l'on travail avec eclipse et que l'on fait Ctrl+Space dans ce tag, il nous propose une liste d'attributs disponibles pour ce tag. Or l'attribut 'scope' n'est pas présent dans cette liste (car en contradiction avec le fichier tld qui sert de model au tag 'display:').

    2 solutions se proposent à vous si vous voulez respecter le tld:
    1--> Modifier le fichier displaytag.tld en ajoutant au tag table l'attribut 'scope' avec les lignes suivantes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
          <attribute>
              <name>scope</name>
              <required>false</required>
              <rtexprvalue>true</rtexprvalue>
              <description>
                  Permet de definir dans quel scope chercher l'objet mentionné dans l'attribut name
              </description>
          </attribute>
    en dessous des lignes suivantes du fichier displaytag.tld:
    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
     
      <tag>
        <name>table</name>
        <tag-class>org.displaytag.tags.TableTag</tag-class>
        <tei-class>org.displaytag.tags.TableTagExtraInfo</tei-class>
        <body-content>JSP</body-content>
        <display-name>table</display-name>
        <description>
          Displays a list in an html table, formatting each item in the list according to the Column tags nested inside of
          this tag. Use the list attribute to indicate the Collection of data, in some scope, that the tag should operate
          on. Supports the export of the list data to alternative formats such as CSV, Excel, and XML. The contents of the
          list can be sorted, and the list can be broken into individual pages for display. If you use this tag in Struts,
          or in some other framework where the page is included via a jsp:include, you should use the requestURI attribute
          to indicate where tag generated links should point.
        </description>
    2--> Ou modifier la ligne
    <display:table name="lesPers" scope="session">
    en
    <display:table name="sessionScope.lesPers">


    voili voilou...
    j'espère vous avoir éclairé sur le fonction des taglib en général et en particulier sur les displaytag.

    Bonne journée à tous et à toutes.

    ___________
    http://boubalou.miniville.fr

  6. #6
    Membre régulier
    Profil pro
    Inscrit en
    Février 2007
    Messages
    120
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2007
    Messages : 120
    Points : 83
    Points
    83
    Par défaut
    Salut, je pourrais savoir comment tu as fait entièrement pour utiliser displaytag stp? car je dois développer une application web en java avec spring et j'ai ce message "Nothing found to display" alors si tu pouvais me dire comment tu as fait stp...
    merci d'avance

  7. #7
    Membre du Club
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 52
    Points : 44
    Points
    44
    Par défaut
    Salut à toi riderfun.

    Pourrais-tu nous donner de plus amples renseignements comme le contexte de ton appli, un exemple de code serai encore le mieux.

    Dis nous tout et nous essayerons de répondre au mieux a ton problème.

    Bien à toi.
    Scarz.

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

Discussions similaires

  1. [DisplayTag] Problème:Nothing found to display
    Par snoox87 dans le forum Taglibs
    Réponses: 1
    Dernier message: 28/08/2009, 15h03
  2. Réponses: 5
    Dernier message: 13/05/2009, 19h13
  3. [DisplayTag] Nothing found to display.
    Par kodo dans le forum Taglibs
    Réponses: 13
    Dernier message: 22/07/2007, 16h31

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