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 :

introduire les données de ma base dans une page jsf


Sujet :

JSF Java

  1. #1
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 7
    Points : 10
    Points
    10
    Par défaut introduire les données de ma base dans une page jsf
    salut tout le monde,
    j'ai un problème avec l'accès à ma base de données,j'utilise le modèle MVC avec jsf,
    et mon problème c'est que à l'exécution ma datatable doit etre remplie à partir des données de la base,

    mon idée c'est de mettre le code de la selection de la base à l'interieur de la classe "association" dans
    laquelle j'ai déclaré mon "Arraylist":

    voila le code
    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
    package beans;
    import java.util.ArrayList;
    import java.sql.*;
    import beans.Personne;
    public class Association {
    private ArrayList adherents = null;
    public Association(String a,String b) {
        this.adherents = new ArrayList();
    this.adherents.add(new Personne(a,b));
    }
    public Association() { 
    //}
    //public Association(ArrayList adher ) {
     
     
     
     
    try   {
        Connection conn= connexion.connect();
        Statement stmt = conn.createStatement();
    ResultSet rs =
    stmt.executeQuery("select nom,prenom from personne");
    while(rs.next()){
    this.adherents.add(new Personne(rs.getString(1),rs.getString(2)));
    //this.nom= rs.getString(1);
    //this.prenom= rs.getString(2);
     
    System.out.println(rs.getString(1)+" "+rs.getString(2));
    }
     
    rs.close();
    conn.close();
    } catch(SQLException e2){
    System.out.println("ERREUR de CONNEXION");
    e2.printStackTrace();
    }
     
    }
     
    public ArrayList getAdherents() {
    return this.adherents;
    }
    public void setAdherents(ArrayList adherents) {
    this.adherents = adherents;
    }
    public void removeAdherent(Personne adhe){
    this.adherents.remove(adhe);
    }
    public void addAdherent(Personne adhe){
    this.adherents.add(adhe);
    }
    }
    :

    et voila le code de l'interface "model":
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
    /*
     * To change this template, choose Tools | Templates
     * and open the template in the editor.
     */
     
    package beans;
    public interface Model {
    public Object getDatas();
    public void setDatas(Object object);
    }
    et puis celui de la classe qui va implémenter "model":
    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
    package beans;
    import java.util.ArrayList;
    import java.util.List;
    import java.sql.*;
    public class SimpleModel implements Model {
    private Object datas;
    public SimpleModel() {
    }
    public Object getDatas(){
    return this.datas;
    /*
    try   {
        Connection conn= connexion.connect();
        Statement stmt = conn.createStatement();
    ResultSet rs =
    stmt.executeQuery("select nom,prenom from personne");
    while(rs.next()){
    this.datas.adherents.add(new Personne(rs.getString(1),rs.getString(2)));
    //this.nom= rs.getString(1);
    //this.prenom= rs.getString(2);
     
    System.out.println(rs.getString(1)+" "+rs.getString(2));
    }
     
    rs.close();
    conn.close();
    } catch(SQLException e2){
    System.out.println("ERREUR de CONNEXION");
    e2.printStackTrace();
    }
    */
    }
    public void setDatas(Object object){
    this.datas = object;
    }
    }


    et enfin la page jsp :
    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
    <%@page contentType="text/html"%>
    <%@page pageEncoding="UTF-8"%>
     
    <%@ page contentType="text/html" %>
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
     
    <f:view>
    <h3>Association des footballeurs</h3>
    <h:form>
    <h:dataTable binding="#{assocCtrl.view.dataTable}"
    value="#{assocCtrl.model.datas.adherents}" var="personne" border="1">
    <h:column>
    <h:selectBooleanCheckbox binding="#{assocCtrl.view.checkbox}"/>
    </h:column>
    <h:column>
    <f:facet name="header">
    <f:verbatim>Nom</f:verbatim>
    </f:facet>
    <h:outputText value="#{personne.nom}"/>
    </h:column>
    <h:column>
    <f:facet name="header">
    <f:verbatim>Prénom</f:verbatim>
    </f:facet>
    <h:outputText value="#{personne.prenom}"/>
    </h:column>
    </h:dataTable>
    <br>
    <h:commandButton value="Supprimer adhérent"
    action="#{assocCtrl.removeSelectedPersonnes}"/>
    <h:commandButton value="Ajouter adhérent"
    action="Ajout"/>
    </h:form>
    </f:view>
    s'il vous plait aidez moi
    et merci d'avance.

  2. #2
    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
    Bonjour,
    Cce que tu cites est ton but ainsi que comment tu procèdes, mais c'est quoi le problème au juste ?

  3. #3
    Membre à l'essai
    Inscrit en
    Juillet 2007
    Messages
    7
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 7
    Points : 10
    Points
    10
    Par défaut
    salut,
    je m'excuse pour le retard
    mon problème c'est que j'ai mis le code qui contient le "select" de ma base de données à l'interieur du constructeur de la classe association
    comme ç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
     
    try   {
        Connection conn= connexion.connect();
        Statement stmt = conn.createStatement();
    ResultSet rs =
    stmt.executeQuery("select nom,prenom from personne");
    while(rs.next()){
    this.adherents.add(new Personne(rs.getString(1),rs.getString(2)));
    //this.nom= rs.getString(1);
    //this.prenom= rs.getString(2);
     
    System.out.println(rs.getString(1)+" "+rs.getString(2));
    }
     
    rs.close();
    conn.close();
    } catch(SQLException e2){
    System.out.println("ERREUR de CONNEXION");
    e2.printStackTrace();
    }
    mais à l"éxécusion ma table est vide "ne contient pas les données de ma base

  4. #4
    Membre du Club
    Inscrit en
    Avril 2008
    Messages
    139
    Détails du profil
    Informations forums :
    Inscription : Avril 2008
    Messages : 139
    Points : 58
    Points
    58
    Par défaut
    bonjour chifa,
    bon je n'ai pas bien compris ton raisonnement,
    mais je veux te remarquer que qu'il n'est pas conseillé d'initialiser l'Arraylist dans le constructeur car au moment de l'exécution on risque d'appeler le constructeur avant que la connexion à ta base ne soit préte

Discussions similaires

  1. Réponses: 1
    Dernier message: 23/02/2015, 17h44
  2. [SQL2005] Regrouper les données de plusieurs bases dans une seule
    Par oliviera63 dans le forum Développement
    Réponses: 7
    Dernier message: 07/02/2012, 10h40
  3. récuperer les données de ma base dans une listeView
    Par bounasri dans le forum Android
    Réponses: 3
    Dernier message: 06/05/2011, 18h35
  4. Réponses: 4
    Dernier message: 22/11/2009, 21h10
  5. Passer les données ISO en UT8 dans une base UT8.
    Par Space Cowboy dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 06/06/2008, 13h15

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