Remplir la liste déroulante a partir d'une bd [Résolu/Fermé]

Messages postés
59
Date d'inscription
mardi 12 avril 2011
Statut
Membre
Dernière intervention
26 mars 2015
- - Dernière réponse : mondila
Messages postés
59
Date d'inscription
mardi 12 avril 2011
Statut
Membre
Dernière intervention
26 mars 2015
- 18 juil. 2014 à 17:48
Bonjours,

j'ai une liste déroulante que je veux remplir via une base de donnée.est ce que quelqu'un a une idée là dessus,merci

Voici mon code:
JSF:


<h:selectOneMenu id="id6" value="#{villeBean.intitule}" style="width:200px">
<f:selectItem value="#{villeBean.mesVilles}" />
</h:selectOneMenu>

Class villeBean



//Service Auto-injected
@Autowired
VilleService villeService;

int idVille;
private String intitule;
private List<SelectItem> mesVilles;
private List<Ville> villeListe;

public List<Ville> getMaList(){
List<Ville> liste = villeService.listVille();
if(liste.size()!=0){
for(int i=0; i<liste.size();i++){
this.villeListe = liste;
}
}
return villeListe;
}

public List<SelectItem> getMesVilles() {
if(mesVilles!=null){
mesVilles = new ArrayList<SelectItem>();
for(Ville val : getMaList()){
mesVilles.add(new SelectItem(val.getIntitule()));
}
}
return mesVilles;
}

fonction listVille()


@Override
public List<Ville> listVille() {
return villeDao.findAll();
}

fonction finAll()

@SuppressWarnings("unchecked")
@Override
public List<Ville> findAll() {
return sessionFactory.getCurrentSession().createQuery("From Ville").list();
}
Afficher la suite 

1 réponse

Messages postés
59
Date d'inscription
mardi 12 avril 2011
Statut
Membre
Dernière intervention
26 mars 2015
1
0
Merci
le problème est résolu,voici la solution
jsf:

<h:form>
<h:panelGrid>
<h:selectOneMenu id="id6" value="#{villeBean.idVille}"
style="width:200px">
<f:selectItems value="#{villeBean.mesVilles}" />
</h:selectOneMenu>
</h:panelGrid>
</h:form>

class Bean:

private List<SelectItem> mesVilles = new ArrayList<SelectItem>();
private List<Ville> villeListe;

// Constructor
public VilleBean() {
super();
}

@PostConstruct
public void init() {
getListIemsVilles();
}


public List<Ville> getMaList() {
List<Ville> liste = villeService.listVille();
return liste;
}

public void getListIemsVilles() {

for (Ville val : getMaList()) {
this.mesVilles.add(new SelectItem(val.getIdVille(),val.getIntitule()));
}
}