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 :

Comment construire une table (dataTable) à partir d'une List


Sujet :

JSF Java

  1. #1
    Membre averti Avatar de Javix
    Inscrit en
    Juin 2007
    Messages
    531
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 531
    Points : 353
    Points
    353
    Par défaut Comment construire une table (dataTable) à partir d'une List
    Je débute avec JSF et je ne comprends pas comment on peut afficher une table si dans mon Bean je ne récupère que ArrayList ou List? En fait, c'est un résultat d'une query sur une table qui m'envoie une List des catégories d'articles (catId et catName). je voudrais juste les afficher dans 2 colonnes: ID et Catégorie. Merci d'avance.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Points : 1 745
    Points
    1 745
    Par défaut
    Ca tombe bien les dataTable sont fait pour itérer des listes... Je vois pas ce qui te pose problème en fait...

    Si ça peut t'aider :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    <h:dataTable width="100%" value="#{bean.liste}" var="uneLigne" rules="rows" >
     
                <h:column>
                  <f:facet name="header">
                    <h:outputText value="tonTitre"/>
                  </f:facet>
                     <h:outputText value="#{uneLigne.attribut}"/>
                   </h:column>
     
     
                  </h:dataTable>
    Avec autant de colonnes que t'en a besoin biensur...

  3. #3
    Expert éminent
    Avatar de djo.mos
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    4 666
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 4 666
    Points : 7 679
    Points
    7 679
    Par défaut
    Un passage par un tutoriel JSF s'impose dans ce cas, non ?
    Sinon, en gros, t'auras à faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <h:dataTable value=#{tonManagedBean.taListe} var="row" >
      <h:column>
        <h:outputText value="{row.catId}" />
      </h:column>
      <h:column>
        <h:outputText value="{row.catName}" />
      </h:column>
    </h:dataTable>
    Mais t'iras pas loin sans suivre un bon cours et/ou tutoriel JSF.
    Bonne chance.

    [edit]
    Aye ! grillé par mad-math !

  4. #4
    Membre averti Avatar de Javix
    Inscrit en
    Juin 2007
    Messages
    531
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 531
    Points : 353
    Points
    353
    Par défaut Par défaut Comment construire une table (dataTable) à partir d'une List
    Merci à tous. Mais je ne comprends pas très bien la mécanique du processus. Voici ce que j'ai dans mon bean:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     private ArrayList categoriesList;
        private String categoryName;    
        private String categoryId;    
        private Categorie category;    
        private CategorieDAO catDAO;
     
        /**
         * @return the categoriesList
         */
        public ArrayList getCategoriesList() {
            catDAO = new CategorieDAO();
            categoriesList = new ArrayList<Categorie>(catDAO.findAll());
            return categoriesList;
        }
    Et comment la page JSF va "séparer" chaque objet <Categorie> contenu dans la liste en ID (category.getCategoryId) et CategorieNom (category.getCategoryName) ?

  5. #5
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Points : 1 745
    Points
    1 745
    Par défaut
    L'itération se fait automatiquement dans le DataTable
    Pour modifiant l'exemple de djo.mos
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    <h:dataTable value=#{tonManagedBean.categoriesList } var="row" >
      <h:column>
        <h:outputText value="{row.catId}" />
      </h:column>
      <h:column>
        <h:outputText value="{row.catName}" />
      </h:column>
    </h:dataTable>
    Pour chaque élément de ta liste tonManagedBean.taListe, une ligne est crée, et l'élément courant de la liste est placé dans une variable nomée row qui dans ton cas sera de type Categorie. Ainsi dans tes colonnes tu peut accéder aux attributs de ta classe Categorie

  6. #6
    Membre averti Avatar de Javix
    Inscrit en
    Juin 2007
    Messages
    531
    Détails du profil
    Informations forums :
    Inscription : Juin 2007
    Messages : 531
    Points : 353
    Points
    353
    Par défaut Youppi ! Ca marche !
    Merci à tous pour ses explications si précieuses. Je commence à comprendre maintenant.
    Bon prog à tous !

  7. #7
    Membre expérimenté
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2004
    Messages
    1 184
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 1 184
    Points : 1 745
    Points
    1 745
    Par défaut
    Pense à si c'est le cas.

    Et comme te l'as dit djo.mos
    Tu devrai passer par un ou deux Tutos de base...

    CF => http://www.developpez.net/forums/sho...d.php?t=361645

  8. #8
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    39
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2008
    Messages : 39
    Points : 28
    Points
    28
    Par défaut aide
    bonjour j'aimerais afficher les donnees dune table à l'aide de jsf.
    jai fait comme vous avez dit mais ca ne marche pas jai cet erreur:

    java.lang.IllegalArgumentException: An exception occured while creating a query in EntityManager

    pouvez vous méclairer

    merci

  9. #9
    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
    Points : 3 938
    Points
    3 938
    Par défaut
    Ton erreur est assez explicite, c pas au niveau de l'itération de ton datatable, mais au niveau de l'éxecution d'une requete que tu fais via ton em.en effet l'itération d'un datatable se fait automatiquement.
    Vérifie peu être en debug que ta requete est bien executée et que la liste que tu vas passer au datatable est bien remplie.

Discussions similaires

  1. Réponses: 6
    Dernier message: 15/06/2010, 03h18
  2. Réponses: 4
    Dernier message: 01/04/2010, 12h06
  3. [MySQL] Créer une table actuelle à partir d'une table historique
    Par cleminute dans le forum PHP & Base de données
    Réponses: 1
    Dernier message: 20/10/2009, 14h35
  4. Comment creer une table a partir d'une requete
    Par Renardo dans le forum VBA Access
    Réponses: 2
    Dernier message: 26/08/2009, 13h01
  5. comment creer un treeview a partir d une table
    Par steeves5 dans le forum VB 6 et antérieur
    Réponses: 1
    Dernier message: 28/06/2006, 18h03

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