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 :

[Debutant] Afficher une List dans une JSF


Sujet :

JSF Java

  1. #1
    Membre du Club
    Inscrit en
    Octobre 2002
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 84
    Points : 46
    Points
    46
    Par défaut [Debutant] Afficher une List dans une JSF
    Bonjour,

    je récupère ma liste de clients via une méthode getClient. J'insère dans une liste curseur mes clients (à la base execSQL me renvoie une collection que je cast en list.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    private List curseur = new ArrayList();
    public void getClients(){
    curseur=(List) DBAccess.execSQL("SELECT nom, prenom, mail, naissance, civilite FROM CLIENTS");
    je déclare mon bean dans faces-config.xml

    je n'ai aucune idée comment afficher cela dans une page JSF, j'ai bien essayé comme cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
        <html:form>
            <html:dataTable value="#{clients.curseur}" var="client" border="1">
                <html:column>
                    <html:outputText value="#{client.nom}"/>
                    <html:outputText value="#{client.prenom}"/>
                    .................
    Je suis surement à coté de la plaque

  2. #2
    Nouveau membre du Club
    Profil pro
    Chargé d’études
    Inscrit en
    Octobre 2006
    Messages
    36
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Chargé d’études

    Informations forums :
    Inscription : Octobre 2006
    Messages : 36
    Points : 32
    Points
    32
    Par défaut
    Salut,
    <html:dataTable value="#{clients.curseur}" var="client" border="1">

    Ta classe doit renvoyer le ArrayList de type client dans la méthode getCurseur
    Je te fournis un exemple que j'ai sous la main:

    voici un jsf, le code java est fourni en dessous:
    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
     
    <h:dataTable value="#{PriceListBean.editionList}" var="EditionRow" cellpadding="8" rowClasses="rowEven,rowOdd" headerClass="tableheader,tableheader,tableheader,tableheader,tableheader" footerClass="tablefooter,tablefooter,tablefooter,tablefooter,tablefooter" border="2">
                            <h:column id="name">
                                <f:facet name="header">
                                    <f:verbatim>Name</f:verbatim>
                                </f:facet>
                                <h:outputText value="#{EditionRow.name}"/>
                                <f:facet name="footer">
                                    <f:verbatim>Name</f:verbatim>
                                </f:facet>
                            </h:column>
     
                            <h:column id="layout">
                                <f:facet name="header">
                                    <f:verbatim>Layout</f:verbatim>
                                </f:facet>
                                <h:selectOneMenu value="#{EditionRow.layout}" rendered="#{EditionRow.editionCanBeGenerated}">
                                    <%--<f:selectItems value="#{PriceListBean.layouts}"/>--%>
                                    <f:selectItem  itemValue="3" itemLabel="Pricelist Color"/>
                                    <f:selectItem itemValue="4" itemLabel="Pricelist BlackWhite"/>
                                </h:selectOneMenu>
                                <h:inputText id="input" value="#{EditionRow.layout}" rendered="#{!EditionRow.editionCanBeGenerated}"/>
                                <f:facet name="footer">
                                    <f:verbatim>Layout</f:verbatim>
                                </f:facet>
                            </h:column>
     
                            <h:column id="date">
                                <f:facet name="header">
                                    <f:verbatim>Date</f:verbatim>
                                </f:facet>
                                <h:outputText value="#{EditionRow.date}"/>
                                <f:facet name="footer">
                                    <f:verbatim>Date</f:verbatim>
                                </f:facet>
                            </h:column>
                            <h:column id="status">
                                <f:facet name="header">
                                    <f:verbatim>Status</f:verbatim>
                                </f:facet>
                                <h:outputText value="#{EditionRow.status}"/>
                                <f:facet name="footer">
                                    <f:verbatim>Status</f:verbatim>
                                </f:facet>
                            </h:column>
                            <h:column id="preview">
                                <f:facet name="header">
                                    <f:verbatim>Online Preview</f:verbatim>
                                </f:facet>
                                <h:outputText value="#{EditionRow.preview}" rendered="#{EditionRow.previewPossible}"/>
                                 <h:commandButton id="btnGenerate" value="Generate !" rendered="#{EditionRow.editionCanBeGenerated}">
                                    <f:actionListener type="PriceList.GenerationActionListener" />                            
                                </h:commandButton>
                                <f:facet name="footer">
                                    <f:verbatim>Online Preview</f:verbatim>
                                </f:facet>
                            </h:column>
     
                        </h:dataTable>
    Voici le code Java qui gère ça


    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
     
    private List editionList=new ArrayList();
     public List getEditionList() {
            if (editionList.size()==0){
                fillEditionList();
            }
            return editionList;
        }
     
        public void setEditionList(List editionList) {
            this.editionList = editionList;
        }
     
        public void fillEditionList(){
            try{
     
                    EditionRow editionRow=new EditionRow(); 
                    editionRow.setName("un nom");
                    editionRow.setLayout("un layout");
                    ...........
     
                    editionList.add(editionRow);
                }
     
             catch(Exception ex){
             }
     
     
        }

  3. #3
    Membre du Club
    Inscrit en
    Octobre 2002
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Octobre 2002
    Messages : 84
    Points : 46
    Points
    46
    Par défaut
    Merci je v essayer cela.

  4. #4
    Futur Membre du Club
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : Maroc

    Informations forums :
    Inscription : Septembre 2006
    Messages : 12
    Points : 8
    Points
    8
    Par défaut même problème
    j'ai essayé de reprendre le code, mais où est décrit le type EditionRow??

    j'essaie de loader une liste de prestataire à partir de ma table Prestataire, j ai un e fonction d'ajout qui insère dans la table directement, je veux que le résultat s'affiche dans une 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
    20
    21
    22
    23
    24
    25
     
    <h:dataTable id="prestataire"
     columnClasses="list-column-center,
      list-column-right, list-column-center,
    list-column-right" headerClass="list-header"
     rowClasses="list-row" value="#{Prestataire.prestList}" styleClass="list-background" var="Prestataire">   
      <h:column>
        <f:facet name="header">
          <h:outputText  value="Nom Prestataire"/>
        </f:facet>
         <h:outputText value="#{Prestataire.nomPres}"/>
      </h:column>
      <h:column>
        <f:facet name="header">
         <h:outputText  value="Adresse"/>
        </f:facet>
         <h:outputText value="#{Prestataire.adresse}"/>
      </h:column>
      <h:column>
        <f:facet name="header">
          <h:outputText  value="Tel"/>
        </f:facet>
         <h:outputText value="#{Prestataire.tel}"/>
      </h:column>
    </h:dataTable>


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    	private List prestList=new ArrayList();
    	public List getPrestList() {
    	        if (prestList.size()==0){
    	            fillPrestList();
    	        }
    	        return prestList;
    	    }
     
    	public void setPrestList(List prestList) {
    	        this.prestList = prestList;
    	    }


    en ce qui concerne la méthode fillprestList je veux la remplir grace à hibernate dirrectement de la BD
    merci

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 1
    Points : 1
    Points
    1
    Par défaut hibernate jsf
    salut j'ai essayé un truc ca marche mais je ne sais pas si c'est parfait
    je te donne le code: JSF
    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
    <html:form>
     
            <html:dataTable value="#{accountEtudiant.listEtudiant}" var="etudiant"  border="1" >
     
     
            <html:column>
     
            <core:facet name="header" >
               <core:verbatim> NOM</core:verbatim>
            </core:facet>
                    <html:outputText value="#{etudiant.nom}" title="nom" style="width: 100%; text-align: right;" />
     
            </html:column>
     
            <html:column >
             <core:facet name="header" >
               <core:verbatim> PRÉNOM</core:verbatim>
            </core:facet>
     
                    <html:outputText  value="#{etudiant.prenom}" title="prenom"style="width: 100%; text-align: right;" />
     
            </html:column>
     
            <html:column >
     
            <core:facet name="header" >
               <core:verbatim> PROMO</core:verbatim>
            </core:facet>
                    <html:outputText value="#{etudiant.promo}" title="promo" style="width: 100%; text-align: right;" />
     
            </html:column>    
     
            <html:column>
            <core:facet name="header" >
               <core:verbatim> ID</core:verbatim>
            </core:facet>
                    <html:outputText value="#{etudiant.id}" />
            </html:column>
     
     
     
     
     
     
            </html:dataTable>
    code listEtudiant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     public List getListEtudiant() {
             mgrEtudiant=new EtudiantManager();
             listEtudiant= mgrEtudiant.listEtudiant();
             return listEtudiant;
        }
     
        public void setListEtudiant(List listEtudiant){this.listEtudiant=listEtudiant;}
    le code Etudiant est la class qui fefinie la table etudiant avec hibernate
    il faut declarer les ben dans face-config
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    <managed-bean>
            <managed-bean-name>accountEtudiant</managed-bean-name>
            <managed-bean-class>Controller.hibernateController</managed-bean-class>
            <managed-bean-scope>session</managed-bean-scope>
    </managed-bean>
     
     
    <managed-bean>
            <managed-bean-name>etudiant</managed-bean-name>
            <managed-bean-class>dataclass.Etudiant</managed-bean-class>
            <managed-bean-scope>session</managed-bean-scope>
    </managed-bean>
    et pour EtudiantManager
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    public List listEtudiant() {
     
            Session session = HibernateUtil.getSessionFactory().getCurrentSession();
            session.beginTransaction();
            System.out.println("etap1");
            List result = session.createQuery("from Etudiant").list();
               session.getTransaction().commit();
            return result;
        }

    j'espere bien etre utile!salut

Discussions similaires

  1. [Python 2.X] Afficher les éléments d'une liste dans une fenetre tkinter
    Par Anatole01 dans le forum Général Python
    Réponses: 4
    Dernier message: 29/04/2015, 15h05
  2. [AJAX] Afficher la valeur d'une liste dans une zone de texte
    Par debutantasp dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 25/11/2007, 17h12
  3. Appel d'une liste dans une liste (JSTL)
    Par abalgue dans le forum Hibernate
    Réponses: 4
    Dernier message: 15/06/2007, 10h56
  4. Réponses: 2
    Dernier message: 27/12/2005, 20h09
  5. Réponses: 29
    Dernier message: 03/11/2005, 10h37

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