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 :

Datatable facelets hibernate


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 177
    Par défaut Datatable facelets hibernate
    Bonjour

    Je vais essayer de résumé mon code pour voir si quelqu'un pourrait m'aider car je ne trouve pas la solution. Des que je j'essaye de configurer mon faces-config.xml, j'obtiens une erreur 503.

    Pour résumé :

    * J'ai une BD avec les champs : id, nom, prenom, phone, licence

    * Mon code facelets (j'utilise un composant richfaces qui s'affiche bien mais qui n'affiche aucune donnée de ma BD à l'interieur) :

    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
    <ui:composition template="/template.xhtml">
            <ui:define name="title">Réservation en ligne d'un club de sport</ui:define>
            <ui:define name="contentTitle">Tableau des membres du club</ui:define>
    	<ui:define name="content">
                <rich:dataTable value="#{MemberController.memberName}" var="cap" rows="4" cellpadding="0" cellspacing="0"
                        width="100%" border="0" style="datatable">
                    <!--<f:facet name="caption">
                            <h:outputText value="Membres"/>
                    </f:facet>-->
                    <f:facet name="header">
                            <h:outputText value=" -- MEMBRES --" />
                    </f:facet>
                    <rich:column styleClass="sdt_col">
                            <f:facet name="header">NOM</f:facet>
                                    <h:graphicImage value="#{cap.nom}"/>
                            <f:facet name="footer">nom...</f:facet>
                    </rich:column>
                    <rich:column id="sdt_col">
                            <f:facet name="header">PRENOM</f:facet>
                                    <h:outputText value="#{cap.prenom}"/>
                            <f:facet name="footer">prenom...<h:outputText value="#{cap.prenom}"/></f:facet>
                    </rich:column>
                    <rich:column >
                            <f:facet name="header">TELEPHONE</f:facet>
                                    <h:outputText value="#{cap.phone}"/>
                            <f:facet name="footer">telephone...</f:facet>
                    </rich:column>
                    <rich:column >
                            <f:facet name="header">LICENCE</f:facet>
                                    <h:outputText value="#{cap.licence}"/>
                            <f:facet name="footer">0001524...</f:facet>
                    </rich:column>
                    <f:facet name="footer">
                            <h:outputText value="Membres du club de squash" />
                    </f:facet>
                </rich:dataTable>
            </ui:define>
    </ui:composition>
    Je pense que mes problémes pour doivent peut venir de là.

    * J'uilise hibernate qui m'a généré mon bean Member.java
    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
     
    package squashBook;
    // Generated 20 avr. 2010 21:37:17 by Hibernate Tools 3.2.1.GA
     
     
     
    /**
     * Member generated by hbm2java
     */
    public class Member  implements java.io.Serializable {
     
     
         private int id;
         private String nom;
         private String prenom;
         private String phone;
         private String licence;
     
        public Member() {
        }
     
        public Member(int id, String nom, String prenom, String phone, String licence) {
           this.id = id;
           this.nom = nom;
           this.prenom = prenom;
           this.phone = phone;
           this.licence = licence;
        }
     
        public int getId() {
            return this.id;
        }
     
        public void setId(int id) {
            this.id = id;
        }
        public String getNom() {
            return this.nom;
        }
     
        public void setNom(String nom) {
            this.nom = nom;
        }
        public String getPrenom() {
            return this.prenom;
        }
     
        public void setPrenom(String prenom) {
            this.prenom = prenom;
        }
        public String getPhone() {
            return this.phone;
        }
     
        public void setPhone(String phone) {
            this.phone = phone;
        }
        public String getLicence() {
            return this.licence;
        }
     
        public void setLicence(String licence) {
            this.licence = licence;
        }
    }
    * Et enfin une classe MemberController pour faire mes requête :
    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
     
    public class MemberController {
     
        int startId;
        int endId;
        DataModel memberName;
        BookHelper helper;
     
        /** Creates a new instance of MemberController */
        public MemberController() {
            helper = new BookHelper();
            startId = 0;
            endId = 1;
        }
     
        public MemberController(int startId, int endId) {
            helper = new BookHelper();
            this.startId = startId;
            this.endId = endId;
        }
    Je suis pret pour tout idée car je séche (encore une fois).
    Merci
    Images attachées Images attachées  

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 177
    Par défaut
    Je me suis trompé j'ai ùmodifié le message au lieu d'ajouter une réponse. Je remets donc mon message:

    Bonjour

    Je vais essayer de résumé mon code pour voir si quelqu'un pourrait m'aider car je ne trouve pas la solution. Des que je j'essaye de configurer mon faces-config.xml, j'obtiens une erreur 503.

    Pour résumé :

    * J'ai une BD avec les champs : id, nom, prenom, phone, licence

    * Mon code facelets (j'utilise un composant richfaces qui s'affiche bien mais qui n'affiche aucune donnée de ma BD à l'interieur) :

    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
    <ui:composition template="/template.xhtml">
            <ui:define name="title">Réservation en ligne d'un club de sport</ui:define>
            <ui:define name="contentTitle">Tableau des membres du club</ui:define>
    	<ui:define name="content">
                <rich:dataTable value="#{MemberController.memberName}" var="cap" rows="4" cellpadding="0" cellspacing="0"
                        width="100%" border="0" style="datatable">
                    <!--<f:facet name="caption">
                            <h:outputText value="Membres"/>
                    </f:facet>-->
                    <f:facet name="header">
                            <h:outputText value=" -- MEMBRES --" />
                    </f:facet>
                    <rich:column styleClass="sdt_col">
                            <f:facet name="header">NOM</f:facet>
                                    <h:graphicImage value="#{cap.nom}"/>
                            <f:facet name="footer">nom...</f:facet>
                    </rich:column>
                    <rich:column id="sdt_col">
                            <f:facet name="header">PRENOM</f:facet>
                                    <h:outputText value="#{cap.prenom}"/>
                            <f:facet name="footer">prenom...<h:outputText value="#{cap.prenom}"/></f:facet>
                    </rich:column>
                    <rich:column >
                            <f:facet name="header">TELEPHONE</f:facet>
                                    <h:outputText value="#{cap.phone}"/>
                            <f:facet name="footer">telephone...</f:facet>
                    </rich:column>
                    <rich:column >
                            <f:facet name="header">LICENCE</f:facet>
                                    <h:outputText value="#{cap.licence}"/>
                            <f:facet name="footer">0001524...</f:facet>
                    </rich:column>
                    <f:facet name="footer">
                            <h:outputText value="Membres du club de squash" />
                    </f:facet>
                </rich:dataTable>
            </ui:define>
    </ui:composition>
    Je pense que mes problémes pour doivent peut venir de là.

    * J'uilise hibernate qui m'a généré mon bean Member.java
    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
     
    package squashBook;
    // Generated 20 avr. 2010 21:37:17 by Hibernate Tools 3.2.1.GA
     
     
     
    /**
     * Member generated by hbm2java
     */
    public class Member  implements java.io.Serializable {
     
     
         private int id;
         private String nom;
         private String prenom;
         private String phone;
         private String licence;
     
        public Member() {
        }
     
        public Member(int id, String nom, String prenom, String phone, String licence) {
           this.id = id;
           this.nom = nom;
           this.prenom = prenom;
           this.phone = phone;
           this.licence = licence;
        }
     
        public int getId() {
            return this.id;
        }
     
        public void setId(int id) {
            this.id = id;
        }
        public String getNom() {
            return this.nom;
        }
     
        public void setNom(String nom) {
            this.nom = nom;
        }
        public String getPrenom() {
            return this.prenom;
        }
     
        public void setPrenom(String prenom) {
            this.prenom = prenom;
        }
        public String getPhone() {
            return this.phone;
        }
     
        public void setPhone(String phone) {
            this.phone = phone;
        }
        public String getLicence() {
            return this.licence;
        }
     
        public void setLicence(String licence) {
            this.licence = licence;
        }
    }
    * Et enfin une classe MemberController pour faire mes requête :
    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
     
    public class MemberController {
     
        int startId;
        int endId;
        DataModel memberName;
        BookHelper helper;
     
        /** Creates a new instance of MemberController */
        public MemberController() {
            helper = new BookHelper();
            startId = 0;
            endId = 1;
        }
     
        public MemberController(int startId, int endId) {
            helper = new BookHelper();
            this.startId = startId;
            this.endId = endId;
        }
    Je suis pret pour tout idée car je séche (encore une fois).
    Merci

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 191
    Par défaut
    Bonjour,

    2 questions :

    - C'est tout ce que tu as dans ton controller? Parce que je ne vois pas d'initialisation de ton dataModel. Si aucune donnée n'est introduite, c'est normal que rien ne s'affiche.

    - Ou se trouve la requête qui va te chercher ce que tu veux en base?

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 177
    Par défaut
    Oui pardon, j'ai voulu synthétiser mais j'ai oublié le plus important :

    donc dans mon controller, il manque l'initialisation de mon dataModel qui appelle une méthode (dans ma classe "BookHelper") ou se trouve ma requête.

    Member Controller :
    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
     
    public class MemberController {
     
        int startId;
        int endId;
        DataModel memberName;
        BookHelper helper;
     
        /** Creates a new instance of MemberController */
        public MemberController() {
            helper = new BookHelper();
            startId = 0;
            endId = 1;
        }
     
        public MemberController(int startId, int endId) {
            helper = new BookHelper();
            this.startId = startId;
            this.endId = endId;
        }
     
        public DataModel getMemberName() {
            if (memberName == null) {
                memberName = new ListDataModel(helper.getMemberName(startId, endId));
            }
            return memberName;
        }
     
    }
    Ma classe BookHelper ou se trouve ma requête :
    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
     
    public class BookHelper {
        Session session = null;
     
        public BookHelper() {
            this.session = HibernateUtil.getSessionFactory().getCurrentSession();
        }
     
        //REQUETE POUR TABLE "Member"
        public List getMemberName(int startID, int endID) {
            List<Member> memberList = null;
            try {
                org.hibernate.Transaction tx = session.beginTransaction();
                Query q = session.createQuery ("from Member as member where id between '"+startID+"' and '"+endID+"'");
                memberList = (List<Member>) q.list();
            } catch (Exception e) {
                e.printStackTrace();
            }
            return memberList;
        }
    }

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    191
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2007
    Messages : 191
    Par défaut
    Essaies :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Query q = session.createQuery ("from Member as member where member.id between '"+startID+"' and '"+endID+"'");
    Tu es bien sûre qu'il y a des solutions entre startID et endID?

    Sinon tu as des traces d'erreurs?

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Octobre 2009
    Messages
    177
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2009
    Messages : 177
    Par défaut
    Non je n'ai aucune trace d'erreur.

    Qu'est ce que t'apel des soltuions ?

    J'ai testé ma requête avec HQL Query car j'utilise hibernate et ma requete fonctionne:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    from Member as member where member.id between 0 and 3
    Il m'affiche bien le resultat de ma BD (si c'est la question)

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

Discussions similaires

  1. Datatable et Facelets Custom Component
    Par fhibernate dans le forum JSF
    Réponses: 1
    Dernier message: 13/11/2012, 16h09
  2. selctionchange datatable + hibernate onetomany
    Par ngui_004 dans le forum JSF
    Réponses: 0
    Dernier message: 22/04/2011, 01h46
  3. Réponses: 5
    Dernier message: 20/11/2008, 12h47
  4. [Richfaces][Facelets]Datatable et TagHandler
    Par cocoyot dans le forum JSF
    Réponses: 2
    Dernier message: 14/04/2008, 10h27
  5. Facelets: problème avec dataTable et Dreamweaver
    Par cyrille37 dans le forum JSF
    Réponses: 2
    Dernier message: 27/07/2006, 16h56

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