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 :

Problème d'affichage de liste [DisplayTag]


Sujet :

Taglibs Java

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 17
    Points : 12
    Points
    12
    Par défaut Problème d'affichage de liste
    salut

    Mon display tag ne fonctionne pas, j'ai le message suivant a l'affichage :Nothing found to display.
    Je sais pas trop si j'ai bien installé display tag mais la liste que je lui envoie est correct, j'ai testé avec d'autre balise, le tableau s'affiche correctement!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    request.setAttribute("liste", liste);
    les valeurs des paramètres property correspondent à des attribus de l'objet auditeur, l'objet auditeur rempli la liste

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    <%@ taglib uri="http://displaytag.sf.net" prefix="display"%>
     
    <display:table name="${liste}" export="true" id="row" pagesize="16" cellspacing="0">
    		<display:column property="idAudi" title="ID" media="html" />
    		<display:column property="civiliteAudi" title="civiliteAudi" sortable="true" />
    		<display:column property="titreAudi" title="titreAudi" sortable="true" />
    		<display:column property="nomAudi" title="nomAudi" sortable="true" />
    		<display:column property="prenomAudi" title="prenomAudi" sortable="true" />
    		<display:column property="nomEntrepriseAudi" title="nomEntrepriseAudi" sortable="true" />
    	</display:table>
    help !

  2. #2
    Membre éprouvé
    Avatar de yolepro
    Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 918
    Points : 1 144
    Points
    1 144
    Par défaut
    Bonjour,

    Montre nous le code qui renseigne la liste. As-tu tester la taille de la liste pour vérifier qu'elle n'etait pas vide?
    Etre c'est etre relatif.

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 17
    Points : 12
    Points
    12
    Par défaut
    le code qui rempli la liste ... c'est un peu compliqué, car cela entraine plusieurs fichiers !!! mais je suis sûr que la liste est rempli car je l'ai testé de cette facon:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
     
    <%@taglib uri="/WEB-INF/c.tld" prefix="c"%>
     
     <table border="1" width="80%">
            <tr><th>Nom</th><th>Prénom</th><th>Entreprise</th></tr>
            <c:forEach var="auditeur" items="${liste}">
                <tr>
                	<td><c:out value="${auditeur.nomAudi}"/></td>
                    <td><c:out value="${auditeur.prenomAudi}"/></td>
                    <td><c:out value="${auditeur.nomEntrepriseAudi}"/></td>
                </tr>
            </c:forEach>
        </table>
    Et ca marche très bien !!!!
    Parcontre je peux vous montrer le bean qui rempli la liste

    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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
    138
    139
    140
    141
    142
    143
    144
    145
    146
     
     
    public class AuditeurVO implements Serializable {
     
     
    //Définition des propriétés persistantes:  39 propriétés
     
    	private Integer idAudi;
    	private String civiliteAudi;
    	private String titreAudi;
    	private String nomAudi;
    	private String prenomAudi;
    	private String nomEntrepriseAudi;
    	private String serviceAudi;
    	private String adresse1Audi;
    	private String adresse2Audi;
    	private String cpAudi;
    	private String villeAudi;
    	private String codePaysAudi;
    	private String paysAudi;
    	private String adressePerso1Audi;
    	private String adressePerso2Audi;
    	private String cpPersoAudi;
    	private String villePersoAudi;
    	private String codePaysPersoAudi;
    	private String paysPersoAudi;
    	private String zonePersoAudi;
    	private String professionAudi;
    	private String contact1Audi;
    	private String numTelContact1Audi;
    	private String contact2Audi;
    	private String numTelContact2Audi;
    	private String numGSMAudi;
    	private String numTelAudi;
    	private String numFaxAudi;
    	private String numTelexAudi;
    	private String emailAudi;
    	private String notesAudi;
    	private Date dateCreationAudi;
    	private Date dateMAJAudi;
    	private String commerciauxAudi;
    	private String typeCBAudi;
    	private String numCBAudi;
    	private Date dateFinValiditeAudi;
    	private String numPapierOfficielAudi;
    	private String acompleterAudi;
     
     
     
    // Constructeurs
    	public AuditeurVO(){
    	}
     
    	public AuditeurVO(Integer idAudi){
    		this.idAudi = idAudi;
    	}
     
    	public AuditeurVO(Integer idAudi,String nomAudi){
    		this.idAudi = idAudi;
    		this.nomAudi = nomAudi;
    	}
     
     
     
    // Mutateurs
    	public void setIdAudi(Integer valeur) {idAudi = valeur;}
    	public void setCiviliteAudi(String valeur) {civiliteAudi = valeur;}
    	public void setTitreAudi(String valeur) {titreAudi = valeur;}
    	public void setNomAudi(String valeur) {nomAudi = valeur;}
    	public void setPrenomAudi(String valeur) {prenomAudi = valeur;}
    	public void setNomEntrepriseAudi(String valeur) {nomEntrepriseAudi = valeur;};
    	public void setServiceAudi(String valeur) {serviceAudi = valeur;}
    	public void setAdresse1Audi(String valeur) {adresse1Audi = valeur;}
    	public void setAdresse2Audi(String valeur) {adresse2Audi = valeur;}
    	public void setCpAudi(String valeur) {cpAudi = valeur;}
    	public void setVilleAudi (String valeur) {villeAudi = valeur;}
    	public void setCodePaysAudi (String valeur) {codePaysAudi = valeur;}
    	public void setPaysAudi (String valeur) {paysAudi = valeur;}
    	public void setAdressePerso1Audi (String valeur) {adressePerso1Audi = valeur;}
    	public void setAdressePerso2Audi (String valeur) {adressePerso2Audi = valeur;}
    	public void setCpPersoAudi (String valeur) {cpPersoAudi = valeur;}
    	public void setVillePersoAudi(String valeur) {villePersoAudi = valeur;}
    	public void setCodePaysPersoAudi(String valeur) {codePaysPersoAudi = valeur;}
    	public void setPaysPersoAudi(String valeur) {paysPersoAudi = valeur;}
    	public void setZonePersoAudi(String valeur) {zonePersoAudi = valeur;}
    	public void setProfessionAudi(String valeur) {professionAudi = valeur;}
    	public void setContact1Audi(String valeur) {contact1Audi = valeur;}
    	public void setNumTelContact1Audi(String valeur) {numTelContact1Audi = valeur;}
    	public void setContact2Audi(String valeur) {contact2Audi = valeur;}
    	public void setNumTelContact2Audi(String valeur) {numTelContact2Audi = valeur;}
    	public void setNumGSMAudi(String valeur) {numGSMAudi = valeur;}
    	public void setNumTelAudi(String valeur) {numTelAudi = valeur;}
    	public void setNumFaxAudi(String valeur) {numFaxAudi = valeur;}
    	public void setNumTelexAudi(String valeur) {numTelexAudi = valeur;}
    	public void setEmailAudi(String valeur) {emailAudi = valeur;}
    	public void setNotesAudi(String valeur) {notesAudi = valeur;}
    	public void setDateCreationAudi(Date valeur) {dateCreationAudi = valeur;}
    	public void setDateMAJAudi(Date valeur) {dateMAJAudi = valeur;}
    	public void setCommerciauxAudi(String valeur) {commerciauxAudi = valeur;}
    	public void setTypeCBAudi(String valeur) {typeCBAudi = valeur;}
    	public void setNumCBAudi(String valeur) {numCBAudi = valeur;}
    	public void setDateFinValiditeAudi(Date valeur) {dateFinValiditeAudi = valeur;}
    	public void setNumPapierOfficielAudi(String valeur) {numPapierOfficielAudi = valeur;}
    	public void setAcompleterAudi(String valeur) {acompleterAudi = valeur;}
     
     
    // Accesseurs
    	public Integer getIdAudi() {return idAudi;}
    	public String getCiviliteAudi() {return civiliteAudi;}
    	public String getTitreAudi() {return titreAudi;}
    	public String getNomAudi() {return nomAudi;}
    	public String getPrenomAudi() {return prenomAudi;}
    	public String getNomEntrepriseAudi() {return nomEntrepriseAudi;}	
    	public String getServiceAudi() {return serviceAudi;}
    	public String getAdresse1Audi() {return adresse1Audi;}
    	public String getAdresse2Audi() {return adresse2Audi;}
    	public String getCpAudi() {return cpAudi;}
    	public String getVilleAudi() {return villeAudi;}
    	public String getCodePaysAudi() {return codePaysAudi;}
    	public String getPaysAudi() {return paysAudi;}
    	public String getAdressePerso1Audi() {return adressePerso1Audi;}
    	public String getAdressePerso2Audi() {return adressePerso2Audi;}
    	public String getCpPersoAudi() {return cpPersoAudi;}
    	public String getVillePersoAudi() {return villePersoAudi;}
    	public String getCodePaysPersoAudi() {return codePaysPersoAudi;}
    	public String getPaysPersoAudi() {return paysPersoAudi;}
    	public String getZonePersoAudi() {return zonePersoAudi;}
    	public String getProfessionAudi() {return professionAudi;}
    	public String getContact1Audi() {return contact1Audi;}
    	public String getNumTelContact1Audi() {return numTelContact1Audi;}
    	public String getContact2Audi() {return contact2Audi;}
    	public String getNumTelContact2Audi() {return numTelContact2Audi;}
    	public String getNumGSMAudi() {return numGSMAudi;}
    	public String getNumTelAudi() {return numTelAudi;}
    	public String getNumFaxAudi() {return numFaxAudi;}
    	public String getNumTelexAudi() {return numTelexAudi;}
    	public String getEmailAudi() {return emailAudi;}
    	public String getNotesAudi() {return notesAudi;}
    	public Date getDateCreationAudi() {return dateCreationAudi;}
    	public Date getDateMAJAudi() {return dateMAJAudi;}
    	public String getCommerciauxAudi() {return commerciauxAudi;}
    	public String getTypeCBAudi() {return typeCBAudi;}
    	public String getNumCBAudi() {return numCBAudi;}
    	public Date getDateFinValiditeAudi() {return dateFinValiditeAudi;}
    	public String getNumPapierOfficielAudi() {return numPapierOfficielAudi;}
    	public String getAcompleterAudi() {return acompleterAudi;}
    je pense qu'il y a un pb avec le fichier displaytag.properties ou quelque chose en rapport avec l'installation de displayTag

  4. #4
    Membre éprouvé
    Avatar de yolepro
    Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 918
    Points : 1 144
    Points
    1 144
    Par défaut
    Bonjour,

    As-tu tester avec les exemples fournis par displaytag.
    Ils utilises une classe TestList je crois pour vérifier que cela marche correctement.
    Etre c'est etre relatif.

  5. #5
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 17
    Points : 12
    Points
    12
    Par défaut
    Et ou puis je trouver cet exemple ?

  6. #6
    Membre éprouvé
    Avatar de yolepro
    Profil pro
    Architecte de système d'information
    Inscrit en
    Mai 2002
    Messages
    918
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : France

    Informations professionnelles :
    Activité : Architecte de système d'information

    Informations forums :
    Inscription : Mai 2002
    Messages : 918
    Points : 1 144
    Points
    1 144
    Par défaut
    quand tu telecharges les sources ils contiennent un repertoire qui se nomme exemple je crois :

    http://sourceforge.net/project/showf...ease_id=393032

    Et si tu prends le bin simple tu as meme des war que tu peux tester directement en les mettant dans le repertoire webapps de ton Tomcat.
    Etre c'est etre relatif.

  7. #7
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 17
    Points : 12
    Points
    12
    Par défaut
    J'ai essayé...... ca donne rien je comprends pas, l'exemple fonctionne mais pas le mien !!!! j'ai cette erreur sur la console Tomcat :


    INFO TableProperties(getLocalResolverInstance:522) - No LocaleResolver configured


    et toujours le fameux Nothing found to display.


    peut être que l'utilisation de struts fou la merde mais là je suis vraiment bloqué !!!

  8. #8
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 17
    Points : 12
    Points
    12
    Par défaut
    Je pensais, tu pourrais me filer ptet un de tes exemples simple, un petit fichier war a déployer ..... enfin si tu peux, cat l'exemple fourni est vraiment bizarre !!!

  9. #9
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 17
    Points : 12
    Points
    12
    Par défaut
    Eureka !!! j'ai réussi a afficher le tableau dans une mini appli avec une servlet, pour struts il faut apparement modifier le fichier displaytag.properties.

    Par contre le paging de fonctionne pas, lorsque je click sur next ou un numéro de page BAM erreur interne !!
    VOici l'erreur
    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
    26
    27
    28
    29
     
     
    description Le serveur a rencontré une erreur interne () qui l'a empêché de satisfaire la requête.
     
    exception
     
    org.apache.jasper.JasperException: fromIndex = -10
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:372)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
     
    cause mère
     
    java.lang.IndexOutOfBoundsException: fromIndex = -10
    	java.util.SubList.<init>(AbstractList.java:703)
    	java.util.RandomAccessSubList.<init>(AbstractList.java:861)
    	java.util.AbstractList.subList(AbstractList.java:570)
    	org.displaytag.pagination.SmartListHelper.getListForPage(SmartListHelper.java:219)
    	org.displaytag.pagination.SmartListHelper.getListForCurrentPage(SmartListHelper.java:200)
    	org.displaytag.tags.TableTag.setupViewableData(TableTag.java:1525)
    	org.displaytag.tags.TableTag.doEndTag(TableTag.java:1198)
    	org.apache.jsp.web.result_jsp._jspService(result_jsp.java:128)
    	org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:94)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    	org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:324)
    	org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:292)
    	org.apache.jasper.servlet.JspServlet.service(JspServlet.java:236)
    	javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
    Voila si kelkun comprend le chinoi .....

  10. #10
    Membre à l'essai
    Inscrit en
    Juillet 2006
    Messages
    17
    Détails du profil
    Informations forums :
    Inscription : Juillet 2006
    Messages : 17
    Points : 12
    Points
    12
    Par défaut
    YOUPI !!!

    Bon j'ai réglé mon problem après quelques heures de prise de tête. Display tag fonctionne très bien avec struts et les tiles je donne mon code pour les amateurs

    il faut placer le fichier "displaytag.properties" dans le repertoire /WEB-INF/classes

    le fichier displaytag.properties :
    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
     
     
    #paging.banner.placement=top
    #paging.banner.onepage=<span class="pagelinks"></span>
    export.types=csv excel xml pdf rtf
    export.excel=true
    export.csv=true
    export.xml=true
    export.pdf=true
    export.rtf=true
    export.excel.class=org.displaytag.export.excel.DefaultHssfExportView
    export.pdf.class=org.displaytag.export.DefaultPdfExportView
    export.rtf.class=org.displaytag.export.DefaultRtfExportView
    # if set, file is downloaded instead of opened in the browser window
    export.excel.filename=file.xls
    export.excel.include_header=true
    export.xml.filename=file.xml
    export.csv.filename=file.csv
    export.pdf.filename=file.pdf
    export.rtf.filename=file.rtf
    export.amount=list
     
    # locale provider (provider Struts)
    #locale.provider=org.displaytag.localization.I18nStrutsAdapter
    #locale.resolver=org.displaytag.localization.I18nStrutsAdapter
    par défaut un fichier "displaytag.properties" est charger par l'apli si celui ci n'est pas dans le rep /WEB-INF/classes. Mais le créer nous permet de paufiner le paramétrage.

    Dans le fichier web.xml il faut rajouter les lignes suivante pour le fonctionnement des exports avec les tiles :
    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
     
     
            <filter>
        		<filter-name>ResponseOverrideFilter</filter-name>
     
    <filter-class>org.displaytag.filter.ResponseOverrideFilter</filter-class>
      	</filter>
     
      	<filter-mapping>
        		<filter-name>ResponseOverrideFilter</filter-name>
        		<url-pattern>*.do</url-pattern>
      	</filter-mapping>
     
      	<filter-mapping>
        		<filter-name>ResponseOverrideFilter</filter-name>
        		<url-pattern>*.jsp</url-pattern>
      	</filter-mapping>
    pour que le paging fonctionne correctement il faut utiliser la session (peut etre existe il d'autres moyens ?????)
    code dans la servlet ou l'action si struts :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     
    HttpSession session = request.getSession();
    session.setAttribute("liste",liste);
    et enfin dans la jsp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    <display:table name="sessionScope.liste" requestURI="auditAction.do?dispatch=recherche" sort="external" defaultsort="1" pagesize="10" id="table1" export="true" >
        		<display:column property="id" sortable="true" sortName="id" title="ID" />
        		<display:column property="name" sortable="true" sortName="name" />
        		<display:column property="email" sortable="true" sortName="email" />
        		<display:column property="status" sortable="true" sortName="status" />
      	</display:table>
    vous remarquerez l'attribue "requestURI", ici très important lorsque l'on utilise le paging dans un appli struts avec des tiles. Il faut rpasser par l'action. le "dispatch=recherche" est seulement necessaire lorsque l'on utilise les ActionDispatchs de struts

    voila et bon courage !!!

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

Discussions similaires

  1. [SP-2010] problème d'affichage de liste de type de contenu externe
    Par bého32 dans le forum SharePoint
    Réponses: 10
    Dernier message: 06/07/2012, 22h44
  2. problème d'affichage de liste / codage
    Par Xoxocs dans le forum Général Python
    Réponses: 3
    Dernier message: 04/09/2009, 14h22
  3. Réponses: 7
    Dernier message: 24/01/2008, 08h51
  4. Problème d'affichage de liste entre IE et FireFox
    Par slideveloppeur2006 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 11/07/2006, 11h07
  5. problème d'affichage de liste combo hors fenêtre
    Par federb.do dans le forum Interfaces Graphiques en Java
    Réponses: 2
    Dernier message: 14/06/2006, 19h40

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