Problème remplissage selectOnemenu en jsf
Salut tout le monde
Je suis entrain de developpez une application java j2ee en se basant sur le tutoriel suivant
ftp://ftp-developpez.com/beuve/CRUDS...DSpringPub.pdf
l'exemple fonctione bien , cepandant en etandant l'application j'ai créer deux table todo(id_todo ,titre ,body) et mp( id_mp, titre ,id_todo) (liée par une association de type 1 à plusieurs) .
tout fonctione bien pour todo( ajout ,modification ,suppresion) , mais pour mp j'aurai besoin de remplir un selectOnemenu par une collection des todo ( le champs titre) pour effectuer l'ajout , ci-joint le code pour la page createMp.jsf
Code:
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
|
<html>
<%@page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%>
<%@taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
<%@taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
<head>
<title>Create TODO : 111</title>
</head>
<body>
<f:view>
<h:form id="createToDoForm">
<h:panelGrid columns="2">
<h:outputText value="Title : "/>
<h:inputText value="#{mpBean.mp.title}"/>
<h:selectOneListbox style="width: 280px;" id="cmblistetodo" size="1" title="Choisir une valeur">
<f:selectItems value="#{mpBean.cmblistetodo}"/>
</h:selectOneListbox>
<h:commandButton value="Submit" action="#{mpBean.createMpAction}"/>
</h:panelGrid>
</h:form>
</f:view>
</body>
</html> |
au niveau du bean mpBean j'ai le code suivant
Code:
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
|
private Collection Mps = null;
private Mp mp;
private ToDo toDo;
private MpServiceAble mpService;
private Collection toDos ;
private ToDoServiceAble toDoService;
public String[] listtodo;
Collection<ToDo> listetodo = new ArrayList<ToDo>();
int i=0;
public List<SelectItem> cmblistetodo = new ArrayList<SelectItem>();
private Integer idtodo;
Collection<ToDo> listetodo = new ArrayList<ToDo>();
int i=0;
public List<SelectItem> cmblistetodo = new ArrayList<SelectItem>();
private Integer idtodo;
public List<SelectItem> getToDoS() {
final List<SelectItem> cmblistetodo = new ArrayList<SelectItem>();
if (listetodo == null) {
try {
log.debug("#DDD############ toDos null --> service.getToDos");
listetodo= toDoService.getToDoS();
Iterator it = listetodo.iterator();
while (it.hasNext()){
ToDo todo =(ToDo)it.next();
cmblistetodo.add(new SelectItem(todo.getId(), todo.getTitle()));
//session.close();
}
this.setCmblistetodo(cmblistetodo);
} catch (Exception e) {
log.error("#DDD############ Error when searching the todo list");
}
}
return cmblistetodo;
}
public String createMpAction() {
log.debug("#DDD############ createMpAction()");
try {
this.mpService.saveMp(this.mp);
log.debug("#DDD############ createMpAction->success");
return "success";
} catch (JoTestException e) {
e.printStackTrace();
return "failure";
}
} |
je recois le combobox vide aucune valeur n'est chargée si quelqu'un connait la raison du problème merci de m'aider c'est urgent