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 :

Afficher liste avec jsf


Sujet :

JSF Java

  1. #1
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 121
    Points : 90
    Points
    90
    Par défaut Afficher liste avec jsf
    Soir'

    J'ai un managed bean avec une méthode qui récupère tous les utilisateurs (sous forme de List<Utilisateurs>) contenus dans une BDD.

    J'aimerai afficher cette liste dans une JSF.

    J'ai donc tenté ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
            <h:dataTable id="utilisateurs" value="${utilisateurDAO.findAll}" var="util">
                <h:column>
                    <h:outputText value="#{util.id}" />
                </h:column>
                <h:column>
                    <h:outputText value="#{util.login}" />
                </h:column>
            </h:dataTable>
    Avec ma methode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
        public List<Utilisateur> findAll() {
            return super.findAll(Utilisateur.class);
        }
    Mais j'obtient :
    The class 'manager.UtilisateurDAO' does not have the property 'findAll'.
    Quelqu'un qui as déjà eu ce problème ? Comment faire pour afficher cette liste ?

    merci

  2. #2
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    Le problème ici est que dans une expression EL du type "#{utilisateurDao.findAll}", JSF va rechercher une propriété du nom de findAll dans le bean utilisateurDao.
    Au niveau Java, JSF va faire utilisateurDao.getFindAll()

    C'est pour cela que tu obtiens cette erreur.

    Maintenant, je souhaite soulever un problème dans ton application. Visiblement, la couche de présentation (les pages JSF) appellent directement la couche DAO. C'est pas franchement la bonne méthode. L'idéal est de proposer une série de beans "simples", qui vont eux-mêmes appelés des classes de la couche service, qui feront ensuite appel à la couche DAO.

  3. #3
    Membre régulier
    Profil pro
    Étudiant
    Inscrit en
    Juillet 2009
    Messages
    121
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juillet 2009
    Messages : 121
    Points : 90
    Points
    90
    Par défaut
    Ah d'accord, je vois...

    Tu n'aurai pas un tuto JSF sur les différentes couches à utilisées à me conseiller ?


    Merci encore

  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
    Points : 5 059
    Points
    5 059
    Par défaut
    Citation Envoyé par ChristopheD Voir le message
    Ah d'accord, je vois...

    Tu n'aurai pas un tuto JSF sur les différentes couches à utilisées à me conseiller ?


    Merci encore
    tu trouvera beaucoup de tutoriels sur JSF ici

  5. #5
    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
    Ou tu vas direct , je le trouve assez interessant.

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

    Informations forums :
    Inscription : Mars 2007
    Messages : 191
    Points : 118
    Points
    118
    Par défaut
    Un petit exemple : JTips

    La méthode getMyDataList() du Backing bean dans ton cas devrait ressembler à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    public List<Utilisateur> getMyDataList() {
        if(myDataList==null){
            myDataList = findAll();
        }
        return myDataList;
    }

Discussions similaires

  1. Problème d'affichage d'une liste avec JSF
    Par passion_info dans le forum JSF
    Réponses: 7
    Dernier message: 20/07/2011, 10h12
  2. Problème d'affiche d'une list avec c:forEach
    Par lili2704 dans le forum Struts 1
    Réponses: 2
    Dernier message: 19/03/2007, 17h49
  3. Afficher une liste, avec 2 résultats par ligne
    Par toutoune60 dans le forum JSF
    Réponses: 5
    Dernier message: 12/02/2007, 15h49
  4. [STL]Afficher une liste de listes avec copy
    Par boromir73 dans le forum SL & STL
    Réponses: 3
    Dernier message: 27/10/2006, 15h23
  5. Réponses: 7
    Dernier message: 06/03/2006, 15h38

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