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 :

Application Java EE - Problème remplir DataTable


Sujet :

JSF Java

  1. #1
    Membre confirmé
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Janvier 2012
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2012
    Messages : 116
    Par défaut Application Java EE - Problème remplir DataTable
    Bonjour à tous,

    Je viens faire appel à vos compétences. Je suis débutant en JSF et j'essaye de développer une application web Java EE.

    Je rencontre un problème pour remplir un DataTable, je ne pense pas bien m'y prendre :

    Voici ma méthode JAVA qui va chercher les données dans ma base de données :
    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
     
      private List<SelectItem> produitItem;
        private List<String> listProduits = new ArrayList<String>();
        int cpt = 0;
     
     
        //Constructeur
        public produitTable(){
           String produitssql = "SELECT nom_technique FROM technique ";
            try {
                Statement state1 = this.connV2.createStatement();
                ResultSet rs = state1.executeQuery(produitssql);
     
                while (rs.next()){
                    //produitItem.add(cpt, new SelectItem(rs.getString(1)));
                    //cpt ++;
                    listProduits.add(rs.getString(1));
                }
                rs.close();
     
            } catch (Exception e) {
                System.out.println("Problème remplissage produit tableau !");
            }
        }
    J'ai configuré le faces-config :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <!-- Liste test tableau-->
        <managed-bean>
            <managed-bean-name>produitTableClass</managed-bean-name>
            <managed-bean-class>administration.produitTable</managed-bean-class>
            <managed-bean-scope>session</managed-bean-scope>
        </managed-bean>
    Puis voici la page xhtml en question contenant le tableau :
    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
     
    <pou:dataTable id="produitDataTable" styleClass="produitDataTable" var="test" value="test" emptyMessage="Aucun produit trouvé" paginator="true" rows="10">
                                <pou:column id="produitColumn">
                                    <f:facet name="header">
                                        <h:outputText value="Produits" />
                                    </f:facet>
                                    <h:outputText value="#{produitTableClass.produitItem}"/>
                                </pou:column>
                                <pou:column id="competenceColumn" headerText="Compétences">
                                    <h:outputText value="test"/>
                                </pou:column>
                                <pou:column id="domaineColumn" headerText="Domaines">
                                    <h:outputText value="test"/>
                                </pou:column>
                            </pou:dataTable>
    Mon tableau comprend 3 colonnes, pour commencer j'ai déjà essayé d'en remplir une, mais rien ne se passe.
    J'ai déjà vérifier ma connexion avec la bdd ma requête etc...tout est ok à ce niveau.

    Merci d'avance
    Fred

  2. #2
    Membre confirmé
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Janvier 2012
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2012
    Messages : 116
    Par défaut
    Bon visiblement, personne ne trouve, en fait ma question est simplement de réussir à remplir un DataTable.

    J'ai essayé avec une ArrayList<String> mais je n'obtiens rien...

    Avez vous des idées ?

    Merci d'avance
    Fred

  3. #3
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Par défaut
    Bonjour,
    Dis nous, as tu seulement pris le temps de lire comment marche ce composant? A quoi servent les différents attributs de ce composant?

  4. #4
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 162
    Par défaut
    Au vu de ta façon d'utiliser le composant Datatable et plus précisément ses attributs, il est tout à fait normal que rien ne s'affiche.

    Je t'invite à relire l'exemple donné sur le site de primefaces.

    Et si tu ne comprends toujours pas, voici le lien vers la documentation plus détaillée.

  5. #5
    Membre confirmé
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Janvier 2012
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2012
    Messages : 116
    Par défaut
    Bonjour,

    Merci de vos réponses, mais j'avoue encore ne pas comprendre. Je veux bien croire que la solution est évidente mais dans mon cas je bloque.

    Je remplis ma liste depuis une base de données, celle-ci est injectée dans mon datatable en ayant fait les configurations nécessaires dans le faces-config...

    Je suis débutant en JSF mais j'avoue galérer !

    Merci
    Fred

  6. #6
    Membre confirmé
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Janvier 2012
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2012
    Messages : 116
    Par défaut
    Oups....

    En effet les attributs value et var ne sont pas corrects....

  7. #7
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Par défaut
    Citation Envoyé par Fred30 Voir le message
    Bonjour,

    Merci de vos réponses, mais j'avoue encore ne pas comprendre. Je veux bien croire que la solution est évidente mais dans mon cas je bloque.

    Je remplis ma liste depuis une base de données, celle-ci est injectée dans mon datatable en ayant fait les configurations nécessaires dans le faces-config...

    Je suis débutant en JSF mais j'avoue galérer !

    Merci
    Fred
    Justement quand on est débutant on prend la peine de comprendre comment ça marche, encore une fois tu n'as pas lu les tutoriels. Si tu ne fais pas l'effort de lire, on ne te sera pas d'une très grande aide ici.

  8. #8
    Membre confirmé
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Janvier 2012
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2012
    Messages : 116
    Par défaut
    Bonjour,

    J'ai réussi a remplir mon tableau avec une liste remplit au préalable, par contre l'ensemble de ma liste s'est introduite dans la première cellule....je vous laisse imaginer le résultat.

    En java, on édite un "model" pour le tableau, comment cela se passe en JSF ?

    Chacun de mes résultats est séparé d'une virgule.

    Merci d'avance
    Fred

  9. #9
    Membre confirmé
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Janvier 2012
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2012
    Messages : 116
    Par défaut
    Quel bor... ce tableau. J'ai quand même du mieux.

    Mon but est de créer un tableau à 3 colonnes :
    - Produits
    - Domaines
    - Compétences

    Produits et domaines viennent directement de ma base de données (Environ 300 produits avec un domaine associé à chaque fois) et compétence est initialisé à 0 dès le départ et vaudra 0 pour chaque produit.

    Voici comment je procède :

    Je crée 2 listes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    private List<String> listProduits = new ArrayList<String>();
    private List<String> listDomaines = new ArrayList<String>();
    Je remplit ces deux listes depuis ma base de données :
    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
     
     //Remplissage de la liste de produits
            String produitListsql = "select nom_technique FROM technique ";
     
             try {
                Statement state1 = this.connV2.createStatement();
                ResultSet rs = state1.executeQuery(produitListsql);
     
                while (rs.next()) {
                    getListProduits().add(rs.getString(1));
                }
                rs.close();
     
            } catch (Exception e) {
                System.out.println("Problème remplissage produit tableau !");
            }
     
             //Remplissage de la liste des domaines
            String domaineListSQL = "select id_domaine FROM technique ";
     
            try {
                Statement state1 = this.connV2.createStatement();
                ResultSet rs = state1.executeQuery(domaineListSQL);
     
                while (rs.next()) {
                    getListDomaines().add(rs.getString(1));
                }
                rs.close();
     
            } catch (Exception e) {
                System.out.println("Problème remplissage domaines tableau !");
            }
    Puis je fabrique mon model selon ces listes :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    private void test(List<produit> list, int size){
            for (int i = 0; i < listProduits.size() ; i++) {
                list.add(new produit(listProduits.get(i), listDomaines.get(i)));
            }
        }
    Au passage, ma classe produit :
    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
     
    public class produit {
     
        private String nom;
        private int domaine;
     
        public produit(String nom, String domaine){
     
     
        }
     
        /**
         * @return the nom
         */
        public String getNom() {
            return nom;
        }
     
        /**
         * @param nom the nom to set
         */
        public void setNom(String nom) {
            this.nom = nom;
        }
     
        /**
         * @return the domaine
         */
        public int getDomaine() {
            return domaine;
        }
     
        /**
         * @param domaine the domaine to set
         */
        public void setDomaine(int domaine) {
            this.domaine = domaine;
        }
    }
    Et enfin, ma page xhtml avec le DataTable :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <pou:dataTable id="produitTable" var="produit" value="#{administration.produitList}" styleClass="produitsTable" paginator="true" rows="40" rowsPerPageTemplate="5,10,15">
                                <pou:column id="produitColumn" headerText="Produits">
                                    <h:outputText value="#{administration.listProduits}" />
                                </pou:column>
     
                                <pou:column id="domaineColumn" headerText="Domaines">
                                    <h:outputText  />
                                </pou:column>
     
                                <pou:column id="competenceColumn" headerText="Compétence">
                                    <h:outputText  />
                                </pou:column>
                            </pou:dataTable>

    Je sais que je fais une bêtise quelque part, mais je ne trouve pas ou, toute ma liste se met dans la première cellule....

    Si vous avez une idée, elle sera bienvenue

    Bonne soirée

  10. #10
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Par défaut
    Bonjour,
    Tu n'as toujours pas lu les exemples qu'on t'a envoyés.Personnellement je ne suis pas partisan du manque d'effort dans la recherche individuelle.Encore une fois prends le temps de bien regarder l'exemple qu'on t'a envoyé sur primefaces.

  11. #11
    Membre confirmé
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Janvier 2012
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2012
    Messages : 116
    Par défaut
    Bonjour,

    Je ne suis pas forcement d'accord sur le terme "manque d'effort"...encore une fois il faut voir l'ensemble de l'application pour juger du travail, et non pas seulement un DATATable.

    Bref, je trouve tout de même l'ambiance sur les forums déplorable.

    Pour en revenir au JSF :

    Mon tableau se remplit, tout est ok, sauf un point, les noms sont sous la forme :
    "[Java.lang.String ...." un nom byzarre...

    Une idée ?

    PS : j'ai lu et relu les exemples de primefaces, mais il n'est pas toujours évident de les adapter, surtout sur une application existante.

    Merci

  12. #12
    Expert éminent
    Avatar de tchize_
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2007
    Messages
    25 482
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2007
    Messages : 25 482
    Par défaut
    parce que tu affiche toute la liste et non pas un élément. Basiquement un datatable va fonctionner comme ça

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <h:datatable value="#{unEL.vers.une.collection}" var="unIdentifiant">
      des balises qui au final travaillent avec #{unIdentifiant.xxxxx}
    </h:datatable>


    Donc dans ton cas:

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <pou:dataTable id="produitTable" var="produit" value="#{administration.produitList}" styleClass="produitsTable" paginator="true" rows="40" rowsPerPageTemplate="5,10,15">
                                <pou:column id="produitColumn" headerText="Produits">
                                    <h:outputText value="#{produit.nom}" />
                                </pou:column>
     
                                <pou:column id="domaineColumn" headerText="Domaines">
                                    <h:outputText value="#{produit.domaine}" />
                                </pou:column>
     
                                <pou:column id="competenceColumn" headerText="Compétence">
                                    <h:outputText  />
                                </pou:column>
                            </pou:dataTable>

  13. #13
    Membre Expert
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    2 938
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 938
    Par défaut
    Essayons de ne pas généraliser les choses et restons polis.
    Le but ici c'est de donner les moyens pour que chacun devienne autonome.Mais tout passe par une recherche personnelle avant tout pour que les autres puissent en profiter. Le fait de trouver les réponses à tes questions dans un lien qu'on te fait suivre n'encourage pas, tu conviendras avec nous.
    Bon pour revenir à ta question, seule ta première cellule est renseignée justement parceque c'est la seule que tu alimentes dans ta datatable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <pou:column id="produitColumn" headerText="Produits">
                                    <h:outputText value="#{administration.listProduits}" />
                                </pou:column>
    et le reste est vide :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     <pou:column id="domaineColumn" headerText="Domaines">
                                    <h:outputText  />
                                </pou:column>
     
                                <pou:column id="competenceColumn" headerText="Compétence">
                                    <h:outputText  />
                                </pou:column>
    Voila comment marchent les datatable. Dans cette déclaration :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <pou:dataTable id="produitTable" var="produit" value="#{administration.produitList}" styleClass="produitsTable" paginator="true" rows="40" rowsPerPageTemplate="5,10,15">
    1-l'attribut value contient la collection que tu souhaites iterer.
    2-L'attribut var répresente le nom de la variable en cours d'itération, ou le pas si tu veux.
    etc...
    Donc si tu as une collection d'objets Produit, et la classe Produit ayant les attributs (listProduit,domaine,competence,etc...), ta datatable ressemblera à ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <pou:dataTable id="produitTable" var="produit" value="#{administration.produitList}" styleClass="produitsTable" paginator="true" rows="40" rowsPerPageTemplate="5,10,15">
                                <pou:column id="produitColumn" headerText="Produits">
                                    <h:outputText value="#{var.listProduit}" />
                                </pou:column>
     
                                <pou:column id="domaineColumn" headerText="Domaines">
                                    <h:outputText value=#{produit.domaine} />
                                </pou:column>
     
                                <pou:column id="competenceColumn" headerText="Compétence">
                                    <h:outputText  value=#{produit.competence}/>
                                </pou:column>
                            </pou:dataTable>
    J'espère avoir été clair.

  14. #14
    Membre confirmé
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Janvier 2012
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2012
    Messages : 116
    Par défaut
    Bonjour à tous,

    Merci pour vos réponses, c'est une grande aide !!!!

    J'ai encore un dernier soucis, mais je suis près du but :

    Voici mon tableau :
    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
     
      <pou:dataTable id="produitTable" var="produit" value="#{administration.techniqueList}" styleClass="produitsTable" paginator="true" rows="16" rowsPerPageTemplate="5,10,15">
     
                                <pou:column id="produitColumn" headerText="Produits">
                                    <h:outputText value="#{administration.produit}"  />
                                </pou:column>
     
                                <pou:column id="domaineColumn" headerText="Domaines">
                                    <h:outputText value="#{administration.domaines}" />
                                </pou:column>
     
                                <pou:column id="competenceColumn" headerText="Compétence">
                                    <h:outputText  value="#{administration.competenceTable}"/>
                                </pou:column>
     
                            </pou:dataTable>
    Voici ma classe administration :
    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
     
     //Déclaration de la liste qui contriendra les noms des produits    
        private List<Technique> techniqueList;
     
        //Creation des varaiables à introduire dans le tableau
        //Les produits
        private String[] produit ;
        //Les domaines
        private String[] domaines;
     
        private List<String> listProduits = new ArrayList<String>();
        private List<String> listDomaines = new ArrayList<String>();
     
        private String competenceTable = "0";
        int cpt = 0;
     
     
        public administration(){
            techniqueList = new ArrayList<Technique>();
     
            remplirListTechnique(techniqueList, techniqueList.size());
        }
     
        private void test(List<produit> list, int size){
            for (int i = 0; i < techniqueList.size() ; i++) {
                list.add(new produit(listProduits.get(i), Integer.parseInt(listDomaines.get(i))));
            }
        }
     
        public void remplirListTechnique(List<Technique> list, int size){
            //Requete SQL
            String listTechniqueSQL = "SELECT nom_technique, id_domaine FROM technique";
     
            try{
                Statement state = this.connV2.createStatement();
                ResultSet rs = state.executeQuery(listTechniqueSQL);
     
                while(rs.next()){
                    getTechniqueList().add(new Technique(rs.getString(1), rs.getInt(2)));
                }
                rs.close();
     
            }catch(Exception e){
                System.out.println("Erreur lors du remplissage de la liste des produits :"+e.getMessage());
            }
     
            //Creation des varaiables à introduire dans le tableau
            //Les produits
            setProduit(new String[techniqueList.size()]);
            for (int i = 0; i < techniqueList.size(); i++) {
                getProduit()[i]=techniqueList.get(i).getNom_technique().toString();
            }
     
            //Les domaines
            setDomaines(new String[techniqueList.size()]);
            for (int i = 0; i < techniqueList.size(); i++) {
                getDomaines()[i]=String.valueOf(techniqueList.get(i).getId_domaine());
            }
        }
    Et enfin ma classe Technique :
    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
     
    public class Technique 
    {
    	//Technique = Produits dans l'application
     
    	//id_technique
    	private int id_technique = 0;
     
    	//categorie_technique
    	private String categorie_technique ="";
     
     
    	//nom_technique
    	private String nom_technique ="";
     
    	//code_produit
    	private int code_produit = 0;
     
            //id_domaine
            private int id_domaine = 0;
     
    	public Technique (int id_technique, String categorie_technique, String nom_technique, int code_produit, int id_domaine)
    	{
    		this.id_technique = id_technique;
    		this.categorie_technique = categorie_technique;
    		this.nom_technique = nom_technique;
    		this.code_produit = code_produit;
                    this.id_domaine = id_domaine;
    	}
     
            public Technique (String nom_technique, int id_domaine){
                this.nom_technique = nom_technique;
                this.id_domaine = id_domaine;
            }
     
    	public Technique(){};
    Donc à ce stade, mon tableau se remplit, j'ai le bon nombre de produits, mais c'est la facon dont ils s'affichent qui bug...
    [LJavaLang.String;@78...

    Pensez-vous qu'il est judicieux d'avoir fait les listes des produits dans la classe administration, n'aurais-je pas du les faire dans la classe technique (anciennement produit) ?

    Encore Merci

  15. #15
    Membre expérimenté
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2008
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 162
    Par défaut
    J'ai l'impression que tu recopies les propositions faites sans les comprendre encore une fois.

    Je vais essayer de t'expliquer bien que j'ai peur de radoter ce que mes prédécesseurs ont fait.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <pou:dataTable id="produitTable" var="produit" value="#{administration.techniqueList}" styleClass="produitsTable" paginator="true" rows="16" rowsPerPageTemplate="5,10,15">
     
                                <pou:column id="produitColumn" headerText="Produits">
                                    <h:outputText value="#{administration.produit}"  />
                                </pou:column>
    Tu indique grâce au tag "value" la liste de tes élements. Ici donc tu manipules
    administration.techniqueList. Tu travailleras donc, pour chaque ligne de ta table avec des objets de type Technique.

    Pour manipuler cet affichage de données de façon aisée, le composant datatable te propose de definir une variable de boucle grâce au tag "var", ici appelé "produit".

    Donc lors de la définition de tes colonnes ce n'est pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     <pou:column id="produitColumn" headerText="Produits">
                                    <h:outputText value="#{administration.produit}"  />
                                </pou:column>
    mais plutôt
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     <pou:column id="produitColumn" headerText="Produits">
                                    <h:outputText value="#{produit.nom_technique}"  />
                                </pou:column>
     
    <pou:column id="produitColumn" headerText="Produits">
                                    <h:outputText value="#{produit.categorie_technique}"  />
                                </pou:column>
    Car à l'intérieur de tes balises column, il faut utiliser la varaible définie dans var, car elle représente ton objet "Technique" pour chaque itération de boucle.

    Comprends-tu ?

  16. #16
    Membre confirmé
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Janvier 2012
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2012
    Messages : 116
    Par défaut
    Merci, je suis d'accord avec toi, mais le remplissage de ces listes par les données de ma BDD se fait dans quelle classe alors ?

    Dans ma classe Technique.java (anciennement produit)?

    J'ai l'habitude du java classique, ou j'ai une DAO avec les objets de ma BDD.

    Désolé, je suis un peu bègue sur les bords !

    Voici les modifications que j'ai apporté :

    Ma classe Technique.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
    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
     
    package ObjetsBDD;
     
    public class Technique 
    {
    	//Technique = Produits dans l'application
     
    	//id_technique
    	private int id_technique = 0;
     
    	//categorie_technique
    	private String categorie_technique ="";
     
     
    	//nom_technique
    	private String nom_technique ="";
     
    	//code_produit
    	private int code_produit = 0;
     
            //id_domaine
            private int id_domaine = 0;
     
    	public Technique (int id_technique, String categorie_technique, String nom_technique, int code_produit, int id_domaine)
    	{
    		this.id_technique = id_technique;
    		this.categorie_technique = categorie_technique;
    		this.nom_technique = nom_technique;
    		this.code_produit = code_produit;
                    this.id_domaine = id_domaine;
    	}
     
            public Technique (String nom_technique, int id_domaine){
                this.nom_technique = nom_technique;
                this.id_domaine = id_domaine;
            }
     
    	public Technique(){};
     
    	//Getter setter ID
    	public int getId()
    	{
    		return id_technique;
    	}
     
    	public void setId(int id_technique)
    	{
    		this.id_technique = id_technique;
    	}
     
    	//Getter setter categorie_technique
    	public String getCategorie_technique()
    	{
    		return categorie_technique;
    	}
     
    	public void setCategorie_technique(String categorie_technique)
    	{
    		this.categorie_technique = categorie_technique;
    	}
     
    	//Getter setter nom_technique
    	public String getNom_technique()
    	{
    		return nom_technique;
    	}
     
    	public void setNom_technique(String nom_technique)
    	{
    		this.nom_technique = nom_technique;
    	}
     
    	//Getter setter code_produit
    	public int getCode_produit()
    	{
    		return code_produit;
    	}
     
    	public void setCode_produit(int code_produit)
    	{
    		this.code_produit = code_produit;
    	}
     
        /**
         * @return the id_domaine
         */
        public int getId_domaine() {
            return id_domaine;
        }
     
        /**
         * @param id_domaine the id_domaine to set
         */
        public void setId_domaine(int id_domaine) {
            this.id_domaine = id_domaine;
        }
     
    }
    Ma classe administration.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
    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
    147
    148
    149
    150
    151
    152
    153
    154
    155
    156
    157
    158
    159
    160
    161
    162
    163
    164
    165
    166
    167
    168
    169
    170
    171
    172
    173
    174
    175
    176
    177
    178
    179
    180
    181
    182
    183
    184
    185
    186
    187
    188
    189
    190
    191
    192
    193
    194
    195
    196
    197
    198
    199
    200
    201
    202
    203
    204
    205
    206
    207
    208
    209
    210
    211
    212
    213
    214
    215
    216
    217
    218
    219
    220
    221
    222
    223
    224
    225
    226
    227
    228
    229
    230
    231
    232
    233
    234
    235
    236
    237
    238
    239
    240
    241
    242
    243
    244
    245
    246
    247
    248
    249
    250
    251
    252
    253
    254
    255
    256
    257
    258
    259
    260
    261
    262
    263
    264
    265
    266
    267
    268
    269
    270
    271
    272
    273
    274
    275
    276
    277
    278
    279
    280
    281
    282
    283
    284
    285
    286
    287
    288
    289
    290
    291
    292
    293
    294
    295
    296
    297
    298
    299
    300
    301
    302
    303
    304
    305
    306
    307
    308
    309
    310
    311
    312
    313
    314
    315
    316
    317
    318
    319
    320
    321
    322
    323
     
    package administration;
     
    import ConnectionBDD.ConnectionBDDV2;
    import ObjetsBDD.Technique;
    import java.io.Serializable;
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.SQLException;
    import java.sql.Statement;
    import java.util.ArrayList;
    import java.util.Date;
    import java.util.List;
    import javax.faces.model.SelectItem;
     
    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
     
    /**
     *
     * @author Fred
     */
    public class administration implements Serializable{
     
        //Connexion à la BDD
        protected static final Connection connV2 = ConnectionBDDV2.getInstance();
     
        private String nom ="";
        private String prenom ="";
        private Date naissanceDate ;
        private String identifiant ="";
        private String gsm ="";
        private String responsable = "";
        private String mobilite = "";
        private String domaine = "";
        private String localisation = "";
        private Date departDate ;
     
        //Déclaration de la liste qui contriendra les noms des produits    
        private List<Technique> techniqueList;
     
        //Creation des varaiables à introduire dans le tableau
        //Les produits
        private String[] produit ;
        //Les domaines
        private String[] domaines;
     
        private List<String> listProduits = new ArrayList<String>();
        private List<String> listDomaines = new ArrayList<String>();
     
        private String competenceTable = "0";
        int cpt = 0;
     
     
        public administration(){
            techniqueList = new ArrayList<Technique>();
            remplirListTechnique(techniqueList, techniqueList.size());
        }
     
    //    private void test(List<Technique> list, int size){
    //        for (int i = 0; i < techniqueList.size() ; i++) {
    //            list.add(new Technique(listProduits.get(i), Integer.parseInt(listDomaines.get(i))));
    //        }
    //    }
     
        public void remplirListTechnique(List<Technique> list, int size){
            //Requete SQL
            String listTechniqueSQL = "SELECT nom_technique, id_domaine FROM technique";
     
            try{
                Statement state = this.connV2.createStatement();
                ResultSet rs = state.executeQuery(listTechniqueSQL);
     
                while(rs.next()){
                    getTechniqueList().add(new Technique(rs.getString(1), rs.getInt(2)));
                }
                rs.close();
     
            }catch(Exception e){
                System.out.println("Erreur lors du remplissage de la liste des produits :"+e.getMessage());
            }
     
            //Creation des varaiables à introduire dans le tableau
            //Les produits
            setProduit(new String[techniqueList.size()]);
            for (int i = 0; i < techniqueList.size(); i++) {
                this.produit[i]=techniqueList.get(i).getNom_technique();
            }
     
            //Les domaines
            setDomaines(new String[techniqueList.size()]);
            for (int i = 0; i < techniqueList.size(); i++) {
                this.domaines[i]=String.valueOf(techniqueList.get(i).getId_domaine());
            }
        }
     
     
        /**
         * @return the nom
         */
        public String getNom() {
            return nom;
        }
     
        /**
         * @param nom the nom to set
         */
        public void setNom(String nom) {
            this.nom = nom;
        }
     
        /**
         * @return the prenom
         */
        public String getPrenom() {
            return prenom;
        }
     
        /**
         * @param prenom the prenom to set
         */
        public void setPrenom(String prenom) {
            this.prenom = prenom;
        }
     
        /**
         * @return the naissanceDate
         */
        public Date getNaissanceDate() {
            return naissanceDate;
        }
     
        /**
         * @param naissanceDate the naissanceDate to set
         */
        public void setNaissanceDate(Date naissanceDate) {
            this.naissanceDate = naissanceDate;
        }
     
        /**
         * @return the identifiant
         */
        public String getIdentifiant() {
            return identifiant;
        }
     
        /**
         * @param identifiant the identifiant to set
         */
        public void setIdentifiant(String indentifiant) {
            this.identifiant = indentifiant;
        }
     
        /**
         * @return the gsm
         */
        public String getGsm() {
            return gsm;
        }
     
        /**
         * @param gsm the gsm to set
         */
        public void setGsm(String gsm) {
            this.gsm = gsm;
        }
     
        /**
         * @return the responsable
         */
        public String getResponsable() {
            return responsable;
        }
     
        /**
         * @param responsable the responsable to set
         */
        public void setResponsable(String responsable) {
            this.responsable = responsable;
        }
     
        /**
         * @return the mobilite
         */
        public String getMobilite() {
            return mobilite;
        }
     
        /**
         * @param mobilite the mobilite to set
         */
        public void setMobilite(String mobilite) {
            this.mobilite = mobilite;
        }
     
        /**
         * @return the domaine
         */
        public String getDomaine() {
            return domaine;
        }
     
        /**
         * @param domaine the domaine to set
         */
        public void setDomaine(String domaine) {
            this.domaine = domaine;
        }
     
        /**
         * @return the localisation
         */
        public String getLocalisation() {
            return localisation;
        }
     
        /**
         * @param localisation the localisation to set
         */
        public void setLocalisation(String localisation) {
            this.localisation = localisation;
        }
     
        /**
         * @return the departDate
         */
        public Date getDepartDate() {
            return departDate;
        }
     
        /**
         * @param departDate the departDate to set
         */
        public void setDepartDate(Date departDate) {
            this.departDate = departDate;
        }
     
        /**
         * @return the listProduits
         */
        public List<String> getListProduits() {
            return listProduits;
        }
     
        /**
         * @param listProduits the listProduits to set
         */
        public void setListProduits(List<String> listProduits) {
            this.listProduits = listProduits;
        }
     
        /**
         * @return the listDomaines
         */
        public List<String> getListDomaines() {
            return listDomaines;
        }
     
        /**
         * @param listDomaines the listDomaines to set
         */
        public void setListDomaines(List<String> listDomaines) {
            this.listDomaines = listDomaines;
        }
        /**
         * @return the competenceTable
         */
        public String getCompetenceTable() {
            return competenceTable;
        }
     
        /**
         * @param competenceTable the competenceTable to set
         */
        public void setCompetenceTable(String competenceTable) {
            this.competenceTable = competenceTable;
        }
     
        /**
         * @return the techniqueList
         */
        public List<Technique> getTechniqueList() {
            return techniqueList;
        }
     
        /**
         * @param techniqueList the techniqueList to set
         */
        public void setTechniqueList(List<Technique> techniqueList) {
            this.techniqueList = techniqueList;
        }
     
        /**
         * @return the produit
         */
        public String[] getProduit() {
            return produit;
        }
     
        /**
         * @param produit the produit to set
         */
        public void setProduit(String[] produit) {
            this.produit = produit;
        }
     
        /**
         * @return the domaines
         */
        public String[] getDomaines() {
            return domaines;
        }
     
        /**
         * @param domaines the domaines to set
         */
        public void setDomaines(String[] domaines) {
            this.domaines = domaines;
        }
     
    }
    Mon faces-config.xml :
    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
     
    <?xml version="1.0" encoding="UTF-8"?>
    <faces-config xmlns="http://java.sun.com/xml/ns/javaee" 
                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
                  http://java.sun.com/xml/ns/javaee/web-facesconfig_2_1.xsd"
                  version="2.1">
     
        <!-- Liste Produits -->
        <managed-bean>
            <managed-bean-name>produitClassBean</managed-bean-name>
            <managed-bean-class>rechercheERS.produitList</managed-bean-class>
            <managed-bean-scope>session</managed-bean-scope>
        </managed-bean> 
     
     
        <!-- Liste Conduits-->
        <managed-bean>
            <managed-bean-name>conduitClassBean</managed-bean-name>
            <managed-bean-class>rechercheERS.conduitList</managed-bean-class>
            <managed-bean-scope>session</managed-bean-scope>
        </managed-bean> 
     
     
        <!-- Liste Famille-->
        <managed-bean>
            <managed-bean-name>familleClassBean</managed-bean-name>
            <managed-bean-class>rechercheERS.familleList</managed-bean-class>
            <managed-bean-scope>session</managed-bean-scope>
        </managed-bean> 
     
     
        <!-- Liste Responsables -->
        <managed-bean>
            <managed-bean-name>responsableClassBean</managed-bean-name>
            <managed-bean-class>administration.responsableList</managed-bean-class>
            <managed-bean-scope>session</managed-bean-scope>
        </managed-bean>
     
     
        <!-- Liste Domaines -->
        <managed-bean>
            <managed-bean-name>domaineClassBean</managed-bean-name>
            <managed-bean-class>administration.domaineList</managed-bean-class>
            <managed-bean-scope>session</managed-bean-scope>
        </managed-bean>
     
     
        <!-- Liste Localisation -->
        <managed-bean>
            <managed-bean-name>localisationClassBean</managed-bean-name>
            <managed-bean-class>administration.localisationList</managed-bean-class>
            <managed-bean-scope>session</managed-bean-scope>
        </managed-bean>
     
        <!-- Liste Competence -->
        <managed-bean>
            <managed-bean-name>competenceClassBean</managed-bean-name>
            <managed-bean-class>administration.competenceList</managed-bean-class>
            <managed-bean-scope>session</managed-bean-scope>
        </managed-bean>
     
     
        <!-- Controleur Administration -->
        <managed-bean>
            <managed-bean-name>controleurAdministration</managed-bean-name>
            <managed-bean-class>controleurAdministration.controleurAdministration</managed-bean-class>
            <managed-bean-scope>session</managed-bean-scope>
            <managed-property>
                <property-name>administration</property-name>
                <property-class>administration.administration</property-class>
                <value>#{administration}</value>
            </managed-property>
        </managed-bean>
        <!-- Administration -->
        <managed-bean>
            <managed-bean-name>administration</managed-bean-name>
            <managed-bean-class>administration.administration</managed-bean-class>
            <managed-bean-scope>session</managed-bean-scope>
        </managed-bean>
        <!-- Produit -->
        <managed-bean>
            <managed-bean-name>Technique</managed-bean-name>
            <managed-bean-class>ObjetsBDD.Technique</managed-bean-class>
            <managed-bean-scope>session</managed-bean-scope>
        </managed-bean>
    </faces-config>
    Et enfin, LE datatTable :
    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
     
    <pou:dataTable id="produitTable" var="Technique" value="#{administration.techniqueList}" styleClass="produitsTable" paginator="true" rows="11" rowsPerPageTemplate="5,10,15">
     
                                    <pou:column id="produitColumn" headerText="Produits">
                                        <h:outputText value="#{Technique.nom_technique}"  />
                                    </pou:column>
     
                                    <pou:column id="domaineColumn" headerText="Domaines">
                                        <h:outputText value="#{Technique.id_domaine}" />
                                    </pou:column>
     
                                    <pou:column id="competenceColumn" headerText="Compétence">
                                        <f:view>
                                            <pou:selectOneMenu value="#{competenceClassBean.competenceItem}" styleClass="combo2">
                                                <f:selectItems value="#{competenceClassBean.competenceItem}"/>
                                            </pou:selectOneMenu>
                                        </f:view>
                                    </pou:column>
     
                                </pou:dataTable>
    Et ça ne fonctionne toujours pas
    Mais je pense que cela vient de ma question plus haut

    Encore Merci
    Fred

  17. #17
    Membre confirmé
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Janvier 2012
    Messages
    116
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : High Tech - Matériel informatique

    Informations forums :
    Inscription : Janvier 2012
    Messages : 116
    Par défaut
    Bonjour à tous,

    Les dernières nouvelles :
    Tout s'initialise bien, mais dans le tableau, rien ne s'affiche.
    J'ai le bon nombre de cellules qui apparaissent en fonction de mon nombre de données dans ma BDD, mais celles-ci ne sont pas remplies...

    Voici la déclaration de mon DataTable :
    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
     
    <pou:dataTable id="produitTable" var="Technique" value="#{TableBean.techniqueList}" styleClass="produitsTable" paginator="true" rows="11" rowsPerPageTemplate="5,10,15">
     
                                    <f:facet name="header">  
                                        <pou:outputPanel>  
                                            <h:outputText value="Chercher dans le tableau :" />  
                                            <pou:inputText id="globalFilter"  style="width:150px" />  
                                        </pou:outputPanel>  
                                    </f:facet> 
     
                                    <pou:column id="produitColumn" headerText="Produits" filterBy="#{Technique.nom_technique}" style="width: 300px;" styleClass="columnTable">
                                        <h:outputText value="#{Technique.nom_technique}"  />
                                    </pou:column>
     
                                    <pou:column id="domaineColumn" headerText="Domaines" filterBy="#{Technique.domaine}" style="width: 200px;">
                                        <h:outputText value="#{Technique.domaine}" />
                                    </pou:column>
     
                                </pou:dataTable>
    La classe Java TableBean :

    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
     
    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
    package administration;
     
    import ConnectionBDD.ConnectionBDDV2;
    import java.io.Serializable;
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.Statement;
    import java.util.ArrayList;
    import java.util.List;
    import javax.faces.event.ActionEvent;
     
    /**
     *
     * @author Fred
     */
    public class TableBean implements Serializable{
     
        //Connexion à la BDD
        protected static final Connection connV2 = ConnectionBDDV2.getInstance();
     
        //Liste des produits
        private List<Technique> techniqueList = new ArrayList<Technique>();
     
        public TableBean(){
            remplirList();
     
        }
     
        //Méthode pour remplir la liste des produits depuis la BDD
        private void remplirList(){
            //Requete SQL
            String techniqueSQL = "SELECT nom_technique, id_domaine FROM technique";
     
            //Lancement de la requete
            try{
                Statement state = this.connV2.createStatement();
                ResultSet rs = state.executeQuery(techniqueSQL);
     
                while(rs.next()){
                    getTechniqueList().add(new Technique(rs.getString(1), rs.getInt(2)));
                }            
                rs.close();
            }catch(Exception e){
                System.out.println("Erreur lors du remplissage des produits :"+e.getMessage());
            }
     
            for (Technique technique : techniqueList) {
          System.out.println("Nom du produit =" + technique.getNom_technique() + ", Domaine =" + technique.getDomaine());
        }
        }
     
        /**
         * @return the techniqueList
         */
        public List<Technique> getTechniqueList() {
            return techniqueList;
        }
     
        /**
         * @param techniqueList the techniqueList to set
         */
        public void setTechniqueList(List<Technique> techniqueList) {
            this.techniqueList = techniqueList;
        }
     
    }
    Ma classe objet Technique.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
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
     
    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
    package administration;
     
    import ConnectionBDD.ConnectionBDDV2;
    import java.io.Serializable;
    import java.sql.Connection;
    import java.sql.ResultSet;
    import java.sql.Statement;
    import java.util.ArrayList;
    import java.util.List;
     
    /**
     *
     * @author Fred
     */
    public class Technique implements Serializable {
     
        //Connexion à la BDD
        protected static final Connection connV2 = ConnectionBDDV2.getInstance();
        //Listes temporaires
        private List<String> nom_techniqueList = new ArrayList<String>();
        //Attributs de l'objet Technique
        private String nom_technique;
        private int domaine;
     
        public Technique() {
        }
     
        public Technique(String nom_technique, int domaine) {
            this.nom_technique = nom_technique;
            this.domaine = domaine;
        }
     
    //    //Methode pour remplir le nom_technique depuis BDD
    //    private void remplirNom (){
    //        //Requete SQL
    //        String nomSQL = "SELECT nom_technique FROM technique";
    //        
    //        try{
    //            Statement state = connV2.createStatement();
    //            ResultSet rs = state.executeQuery(nomSQL);
    //            
    //            while (rs.next()){
    //                nom_techniqueList.add(rs.getString(1));
    //            }
    //                rs.close();    
    //        }catch (Exception e){
    //            System.out.println("Erreur remplissage nom_technique :"+e.getMessage());
    //        }
    //        
    //        nom_technique1 = new String[nom_techniqueList.size()];
    //        //Creation des STRING depuis nom_techniqueList
    //        for (int i = 0; i < nom_techniqueList.size(); i++) {
    //            nom_technique1[i] = String.valueOf(nom_techniqueList.get(i));
    //        }
    //
    //    }
        /**
         * @return the nom_technique
         */
        public String getNom_technique() {
            return nom_technique;
        }
     
        /**
         * @param nom_technique the nom_technique to set
         */
        public void setNom_technique(String nom_technique) {
            this.nom_technique = nom_technique;
        }
     
        /**
         * @return the domaine
         */
        public int getDomaine() {
            return domaine;
        }
     
        /**
         * @param domaine the domaine to set
         */
        public void setDomaine(int domaine) {
            this.domaine = domaine;
        }
    }
    Le faces-config.xml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
       <!-- Technique -->
        <managed-bean>
            <managed-bean-name>Technique</managed-bean-name>
            <managed-bean-class>administration.Technique</managed-bean-class>
            <managed-bean-scope>session</managed-bean-scope>
        </managed-bean>
     
        <!-- Table Bean -->
       <managed-bean>
            <managed-bean-name>TableBean</managed-bean-name>
            <managed-bean-class>administration.TableBean</managed-bean-class>
            <managed-bean-scope>request</managed-bean-scope>
        </managed-bean>
    Voici une image du tableau vide :

    http://www.casimages.com/img.php?i=1...0914835485.jpg

    Je ne vois pas pourquoi je n'obtiens rien dans l'affichage de mes cellules, c'est pour cela que je fais appel à vos compétences.

    Merci d'avance
    Fred

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

Discussions similaires

  1. Réponses: 24
    Dernier message: 12/07/2012, 13h58
  2. Problème arrêt d'une application java en windows services
    Par Estelle_32 dans le forum Général Java
    Réponses: 6
    Dernier message: 20/10/2010, 11h52
  3. Réponses: 2
    Dernier message: 09/04/2009, 07h52
  4. Problème lien html via application java
    Par dumasan dans le forum AWT/Swing
    Réponses: 11
    Dernier message: 29/06/2007, 15h47
  5. problème pour mon application java
    Par smile2206 dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 26/01/2007, 17h30

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