Bonjour,

J'ai un petit problème concernant un selectOneMenu de ma page jsf.

Dans la page, je créé un formulaire dans le lequel j'enregistre une personne avec comme attributs (login, password, nom, prenom, droit et services).

J'ai une liste déroulante pour sélectionner le service.

voici le code de ma 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
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
 
<body>
	<f:view>
		<div id="bandeau">
			<h:outputText value="Bienvenue sur la page d'inscription"/>
		</div>
		<div id="menu">
			<h:form>
			<h:panelGrid columns="2">
				<h:column>
					<h:outputText value="Login : "/>
				</h:column>
				<h:column>
					<h:inputText value="#{personnelController.login}"/><br>
				</h:column>
				<h:column>
					<h:outputText value="Mot de passe : "/>
				</h:column>
				<h:column>
					<h:inputText value="#{personnelController.password}"/><br>
				</h:column>
				<h:column>
					<h:outputText value="Nom : "/>
				</h:column>
				<h:column>
					<h:inputText value="#{personnelController.nom}"/><br>
				</h:column>
				<h:column>
					<h:outputText value="Prenom : "/>
				</h:column>
				<h:column>
					<h:inputText value="#{personnelController.prenom}"/><br>
				</h:column>
				<h:column>
					<h:outputText value="droit : "/>
				</h:column>
				<h:column>
					<h:inputText value="#{personnelController.droit}"/><br>
				</h:column>
				<h:column>
					<h:outputText value="Service : "/>
				</h:column>
				<h:column>
					<h:selectOneMenu>
						<f:selectItems value="#{personnelController.services}" var="p" itemLabel="#{p.servCode}"/>
					</h:selectOneMenu>
				</h:column>
				<h:column>
				<h:commandButton value="Enregistrer" action="#{personnelController.createPersonnel}"/>
				</h:column>
			</h:panelGrid>
 
 
		</h:form>
 
		</div>
		<!--<div>
		<h:form>
				<h:commandButton value="Enregistrer" action="#{personnelController.createPersonnel}"/>
				</h:form>
		</div>-->
 
	</f:view>
 
</body>
Avec ce code, j'arrive à avoir ma liste de services, mais je n'arrive pas à enregistrer la personne car tous les champs se mettent à null...

voici le code de ma methode de mon controller ou j'enregistre en bdd ma personne:

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
 
public String createPersonnel()throws DataAccessException, SQLException {
		String create = null;
		if ((getNom()!=null)&&(getPrenom()!=null)){
			if(personnelDao.validatePersonnel(getNom(), getPrenom())!= null){
				exist = true;
				create ="echec";
			} else {
				personnel = new Personnel();
				personnel.setNom(getNom());
				personnel.setPrenom(getPrenom());
				personnel.setLogin(getLogin());
				personnel.setPassword(getPassword());
				personnel.setdroit(getDroit());
				personnel.setService(getService());
				personnelDao.addPersonnel(personnel);
				create = "succes";
			}
 
		}
		return create;
	}
J'ai vu qu'on pouvait aussi utiliser un htmlSelectOneMenu et un binding, mais ça ne marche pas mieux.

Si quelqu'un a une idée, d'avance merci.