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

Développement Web en Java Discussion :

Remplir un combobox à partir des données de la base


Sujet :

Développement Web en Java

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mai 2012
    Messages
    1
    Détails du profil
    Informations personnelles :
    Localisation : Maroc

    Informations forums :
    Inscription : Mai 2012
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Remplir un combobox à partir des données de la base
    Bonjour,

    Je suis débutante en Hibernate et je voudrais remplir un combobox à partir des données de la base. J'ai essayé mais sans résultat.

    Voici le code

    Projet
    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
    import java.io.Serializable; 
     
    import javax.persistence.Column; 
    import javax.persistence.Entity; 
    import javax.persistence.GeneratedValue; 
    import javax.persistence.Id; 
    import javax.persistence.Table; 
    import javax.persistence.UniqueConstraint; 
    import javax.validation.constraints.Size; 
     
    @Entity 
    @Table(uniqueConstraints = @UniqueConstraint(columnNames = { "nom" })) 
    public class Projet implements Serializable{ 
     
    @Id 
    @GeneratedValue 
    @Column(name = "id") 
    private String id; 
     
    @Size(max = 50) 
    @Column(length = 50) 
    private String nom; 
     
    @Size(max = 50) 
    @Column(length = 50) 
    private String description; 
     
    @Size(max = 50) 
    @Column(length = 50) 
    private String datedebut; 
     
    @Size(max = 50) 
    @Column(length = 50) 
    private String datefin; 
     
    public String getNom() { 
    return nom; 
    } 
     
    public void setNom(String nom) { 
    this.nom = nom; 
    } 
     
    public String getId() { 
    return id; 
    } 
     
    public void setId(String id) { 
    this.id = id; 
    } 
     
    public String getDescription() { 
    return description; 
    } 
     
    public void setDescription(String description) { 
    this.description = description; 
    } 
     
    public String getDatedebut() { 
    return datedebut; 
    } 
     
    public void setDatedebut(String datedebut) { 
    this.datedebut = datedebut; 
    } 
     
    public String getDatefin() { 
    return datefin; 
    } 
     
    public void setDatefin(String datefin) { 
    this.datefin = datefin; 
    } 
     
    /*public Projet(String nom) { 
    super(); 
    this.nom = nom; 
    } 
     
     
    public Projet() { 
    }*/ 
    }
    ProjetBeans
    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
    @Named(value="projetBean") 
    @RequestScoped 
     
    public class ProjetBean { 
     
    private List<Projet> projets; 
    private Projet selectedProjets; 
     
    private List<SelectItem> selectOneItemsProjet; 
     
    public ProjetBean() 
    { 
    this.selectedProjets=new Projet(); 
    this.projets=new ArrayList<Projet>(); 
     
    } 
     
    public Projet getSelectedProjet() 
    { 
    return selectedProjets; 
    } 
     
    public void setSelectedProjet(Projet selectedProjet) 
    { 
    this.selectedProjets=selectedProjet; 
    } 
     
    public List<SelectItem> getSelectOneItemsProjet() 
    { 
    this.selectOneItemsProjet=new ArrayList<SelectItem>(); 
    ProjetService projetservice=new ProjetServiceImpl(); 
    List<Projet> projets=projetservice.selectItems(); 
     
    for (Projet projet : projets){ 
    SelectItem selectItem= new SelectItem(projet.getId(),projet.getNom()); 
    this.selectOneItemsProjet.add(selectItem); 
     
    } 
    return selectOneItemsProjet; 
    } 
    }
    ProjetService
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public interface ProjetService extends GenericService<Projet, Long> { 
     
    List<Projet> getListProjetSortedByOrder(); 
    public List<Projet> selectItems(); 
    }
    ProjetServiceImpl

    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
    @Service 
    @Transactional 
    public class ProjetServiceImpl extends GenericServiceImpl<Projet, Long> implements 
    ProjetService, Serializable { 
     
    private static final long serialVersionUID = 1L; 
     
    @Autowired 
    private ProjetRepository projetRepository; 
     
    @Override 
    public GenericDAO<Projet, Long> getDAO() { 
    return projetRepository; 
    } 
     
    @SuppressWarnings("unchecked") 
    @Override 
    public List<Projet> getListProjetSortedByOrder() { 
    Search search = new Search(Projet.class); 
    search.addSortAsc("nom"); 
    return (List<Projet>) searchBean.search(search); 
    } 
     
    @Override 
    public List<Projet> selectItems() { 
    List<Projet> listado=null; 
    Session session=HibernateUtil.getSessionFactory().getCurrentSession(); 
     
    String sql="From projet"; 
    try{ 
    session.beginTransaction(); 
    listado=session.createQuery(sql).list(); 
    session.beginTransaction().commit(); 
     
    }catch (Exception e) 
    { 
    session.beginTransaction().rollback(); 
    } 
     
    return listado; 
    } 
    }
    index.xhtml
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <h:outputText value="#{lbl['attr.Projet']}" 
    styleClass="required" /> 
    <p:selectOneMenu filter="true" filterMatchMode="contains" panelStyleClass="hide-disabled" 
    required="true" 
    value="#{projetBean.selectedProjet.nom}" 
    label="#{lbl['attr.Projet']}" 
    converter="#{entityConverter}"> 
     
    <f:selectItem itemLabel="#{lbl['attr.selectionner']}" itemValue="#{null}" itemDisabled="true" /> 
    <f:selectItems value="#{projetBean.selectOneItemsProjet}" /> 
    </p:selectOneMenu>
    Merci d'avance pour votre aide.

  2. #2
    Membre du Club
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Septembre 2008
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Septembre 2008
    Messages : 61
    Points : 40
    Points
    40
    Par défaut
    Je vais peut être te dire une bêtise mais il me semble que ton nom de variable et ton getter doivent avoir le même nom pour fonctionner ensemble.

    ProjetBeans
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    private Projet selectedProjets; 
     
    public Projet getSelectedProjet() 
    { 
        return selectedProjets; 
    } 
     
    public void setSelectedProjet(Projet selectedProjet) 
    { 
        this.selectedProjets=selectedProjet; 
    }
    Et là je vois que ton getter et setter ne comportent de "s" à la fin, ce qui expliquerait peut être la raison car sinon dans l'ensemble à première vu ça semble correct le reste.

    Essaye de voir si tu es par exemple sous Eclipse qu'il résout bien le getter/setter associés à ta variable.

  3. #3
    Membre du Club
    Femme Profil pro
    Chercheur en informatique
    Inscrit en
    Décembre 2012
    Messages
    48
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Australie

    Informations professionnelles :
    Activité : Chercheur en informatique

    Informations forums :
    Inscription : Décembre 2012
    Messages : 48
    Points : 50
    Points
    50
    Par défaut
    Bonjour,
    J'ai lu la discussion très rapidement.

    Vous pouvez ajouter la méthode suivante
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    @postConstruct
    public void init() {
     
        selectOneItemsProjet = new ArrayList<SelectItem>(); 
        ProjetService projetservice = new ProjetServiceImpl(); 
        List<Projet> projets = projetservice.selectItems(); 
     
        for (Projet projet : projets) {
     
            SelectItem selectItem = new SelectItem(projet.getId(), projet.getNom()); 
            selectOneItemsProjet.add(selectItem); 
        } 
    }
    Bon courage !

Discussions similaires

  1. Meilleur moyen de populer une Combobox depuis une base de données
    Par Miles Raymond dans le forum Windows Forms
    Réponses: 4
    Dernier message: 03/07/2008, 10h34
  2. remplir une combobox depuis un recordset
    Par Zorgloub dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 05/02/2008, 16h12
  3. remplir une dropdownlist depuis une base sql
    Par Flamby38 dans le forum ASP.NET
    Réponses: 3
    Dernier message: 30/01/2008, 19h30
  4. Remplir un combobox avec une base de donnée
    Par tomenbois dans le forum C#
    Réponses: 12
    Dernier message: 12/12/2007, 20h37
  5. Remplir un combobox depuis un fichier texte
    Par Jiyuu dans le forum VB.NET
    Réponses: 2
    Dernier message: 18/06/2007, 22h34

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