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

JSF Java Discussion :

[richfaces]extendedDataTable problème d'affichage


Sujet :

JSF Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Avril 2008
    Messages : 58
    Par défaut [richfaces]extendedDataTable problème d'affichage
    Bonjour à tous,

    Je travaille actuellement sur un projet simple. J'utilise JSF 1.2, Facelet 1.1.14 et Richfaces 3.3.2 le tout sur GlassFish 2.1.

    J'essaie actuellement d'afficher simplement une liste d'objet à travers un rich:extendedDataTable.

    Mon problème est qu'au chargement du tableau j'ai simplement le petit icône tournant indiquant un "chargement" mais aucun tableau n'apparait.

    J'ai essayé avec un h:dataTable et un rich:dataTable et cela fonctionne, j'ai donc bien des données retournées par mon module EJB.

    Voici mon code :
    Mon managedbean
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public DataModel getData_model() {
            List<Activities> listAct = this.activitiesDAO.findAllFantasmes();
            this.data_model = new ListDataModel(listAct);
            return data_model;
        }
    Mon xhtml
    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
     
     
                    <rich:extendedDataTable
                        value="#{monMB.data_model}" var="fant" id="table"
                        width="580px" height="400px">
                        <rich:column>
                            <f:facet name="header">
                                <h:outputText value="Id" />
                            </f:facet>
                            <h:outputText value="#{fant.id}" />
                        </rich:column>
                        <rich:column>
                            <f:facet name="header">
                                <h:outputText value="Description" />
                            </f:facet>
                            <h:outputText value="#{fant.description}" />
                        </rich:column>
                    </rich:extendedDataTable>
    J'attends vos réponses et vous remercie d'avance.

    Gnarik

  2. #2
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2008
    Messages
    146
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Avril 2008
    Messages : 146
    Par défaut
    Essaye avec cette méthode et voir ce que ça donne????
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public List getData_model() {
            List<Activities> listAct = this.activitiesDAO.findAllFantasmes();
            System.out.println("Size listAct "+listAct.size());
            return listAct ;
        }

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Avril 2008
    Messages : 58
    Par défaut
    Je viens d'essayé, le problème persiste. la console renvoie :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    Size listAct 2
    Size listAct 2

  4. #4
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    Ce n'est pas conseillé de mettre dans le getter, le code d'appels à un EJB, le getter doit rester seulement un getter qui retourne la valeur de la liste.

    Et tu n'a pas besoi d'utiliser un DataModel, je pense que tu en a pas l'utilité dans ton cas,
    tu peux faire:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    private List<Activities> listAct = this.activitiesDAO.findAllFantasmes();
     
    // getter listAct 
    // setter listAct
    et dans la page:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <rich:extendedDataTable
                        value="#{monMB.listAct }" var="fant" id="table"
                        width="580px" height="400px">
    ...

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Avril 2008
    Messages : 58
    Par défaut
    Merci de ta réponse !

    J'ai essayé de rendre au getter son seul et unique but mais en vain :

    Lorsque j'instancie ma List au niveau des attributs, j'ai une erreur au chargement de ma page.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    public class MonMB{
     
        @EJB
        private ActivitiesDAOLocal activitiesDAO;
     
        private List<Activities> listAct = activitiesDAO.findAllFantasmes();
     
        //Constructeur
        //Getters && Setters
        ...
    J'ai ensuite essayé de l'instancier dans mon constructeur mais j'obtiens la même erreur.
    J'en reviens finalement à la solution de wajdopovitch :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    public class MonMB{
       @EJB
        private ActivitiesDAOLocal activitiesDAO;
     
        private List<Activities> listAct;
     
        //Constructeur
     
     
        public List<Activities> getListAct() {
            this.listAct = this.activitiesDAO.findAllFantasmes();
            return listAct;
        }
    Ce qui me produit la même erreur qu'au début.

    Je ne charge peux être pas de la bonne façon mon EJB.

    D'autre part j'utilise aussi des Tooltips dans un dataTable, j'ai remarqué un comportement bizarre : je dois au préalable cliquer sur le header du tableau pour que les tooltips s'affichent. Je me demande s'il n'y aurait pas un problème de compatibilité entre RichFaces et Glassfish ou facelet ou moi.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Avril 2008
    Messages : 58
    Par défaut
    Bon j'ai trouvé mon problème : Chrome...

    Je n'ai aucun soucis avec firefox et IE.

    Si c'est un problème connu et qu'il existe une solution je serais très intéressé de la connaître.

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Avril 2008
    Messages : 58
    Par défaut
    Quelque chose me turlupine :

    Les extendedTables et autres tooltips marchent à la perfection sur http://livedemo.exadel.com/richfaces...dDataTable.jsf alors que je l'ouvre avec Chrome...

  8. #8
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    tu utilise Richfaces 3.3.2.SR1?

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Avril 2008
    Messages : 58
    Par défaut
    Oui, c'est bien la "Stable Release" ? Dois-je en utiliser une autre ?

  10. #10
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    Citation Envoyé par Gnarik Voir le message
    Oui, c'est bien la "Stable Release" ? Dois-je en utiliser une autre ?
    Non c'est bien celle utilisé par la démo, donc, tu dois avoir quelque chose de spécial dans ton code.
    tu n'a pas d'erreurs javascript?

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Avril 2008
    Messages : 58
    Par défaut
    Je viens d'ouvrir mon projet dans IE et en effet j'ai des erreurs JS en pagaille :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    -'DnD' est indéfini
    -'RichFaces' est indéfini
    Ces deux erreurs reviennent beaucoup de fois.

    As-tu une idée de la source du problème ?

    Merci encore pour ton aide.

    Gnarik

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    58
    Détails du profil
    Informations personnelles :
    Localisation : France, Loiret (Centre)

    Informations forums :
    Inscription : Avril 2008
    Messages : 58
    Par défaut
    Bon je viens de trouver la solution à mon problème et cela grâce a toi Sniper37. Je suis tombé sur l'une de tes discussions sur ce même forum ou tu suggères d'ajouter l'option redirect aux navigation rules.

    Cela corrige le problème des erreurs JS et ainsi mon projet fonctionne maintenant parfaitement sur Chrome.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
        <navigation-rule>
            <from-view-id>/imag/login/login.xhtml</from-view-id>
            <navigation-case>
                <from-outcome>login:fail</from-outcome>
                <to-view-id>/imag/login/login.xhtml</to-view-id>
                <redirect />
           </navigation-case>
    Encore merci à toi !

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 14/01/2011, 09h17
  2. Réponses: 4
    Dernier message: 23/09/2010, 17h06
  3. RichFaces : problème d'affichage!
    Par baradoss dans le forum JSF
    Réponses: 2
    Dernier message: 27/05/2010, 10h45
  4. [RichFaces] problème d'affichage
    Par ronchman07 dans le forum JSF
    Réponses: 21
    Dernier message: 20/04/2010, 17h36
  5. Réponses: 2
    Dernier message: 14/01/2008, 17h32

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