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 : 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
 
<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 : 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
 
 
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