Bonjour,
j'ai deux classes "client" et "secteur" qui sont définit comme suit :
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
85 package ma.it.model; // Generated 4 juin 2012 10:20:08 by Hibernate Tools 3.4.0.CR1 import java.util.Date; import java.util.HashSet; import java.util.Set; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import static javax.persistence.GenerationType.IDENTITY; import javax.persistence.CascadeType; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.ManyToOne; import javax.persistence.OneToMany; import javax.persistence.OneToOne; import javax.persistence.Table; import javax.persistence.Temporal; import javax.persistence.TemporalType; /** * Client generated by hbm2java */ @Entity @Table(name = "client", catalog = "bdd_itrekrute") public class Client implements java.io.Serializable { private Integer idMembre; private String nom; private String prenom; private Secteur secteur; public Client() { } @Id @GeneratedValue(strategy = IDENTITY) @Column(name = "idMembre", unique = true, nullable = false) public Integer getIdMembre() { return this.idMembre; } public void setIdMembre(Integer idMembre) { this.idMembre = idMembre; } @ManyToOne(fetch = FetchType.LAZY) @JoinColumn(name = "idSecteur", nullable = false) public Secteur getSecteur() { return this.secteur; } public void setSecteur(Secteur secteur) { this.secteur = secteur; } @Column(name = "nom", length = 254) public String getNom() { return this.nom; } public void setNom(String nom) { this.nom = nom; } @Column(name = "prenom", length = 254) public String getPrenom() { return this.prenom; } public void setPrenom(String prenom) { this.prenom = prenom; } }je veux lors de la création d'un nouveau client préciser son secteur d'activité c'est pourquoi j'ai ajouté un combobox à mon formulaire d'ajout:
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 import java.util.HashSet; import java.util.Set; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.FetchType; import javax.persistence.GeneratedValue; import static javax.persistence.GenerationType.IDENTITY; import javax.persistence.Id; import javax.persistence.OneToMany; import javax.persistence.Table; /** * Secteur generated by hbm2java */ @Entity @Table(name = "secteur", catalog = "bdd_itrekrute") public class Secteur implements java.io.Serializable { private Integer idSecteur; private String designation; private Set<Client> clients = new HashSet<Client>(0); public Secteur() { } @Id @GeneratedValue(strategy = IDENTITY) @Column(name = "idSecteur", unique = true, nullable = false) public Integer getIdSecteur() { return this.idSecteur; } public void setIdSecteur(Integer idSecteur) { this.idSecteur = idSecteur; } @Column(name = "designation", length = 254) public String getDesignation() { return this.designation; } public void setDesignation(String designation) { this.designation = designation; } @OneToMany(fetch = FetchType.LAZY, mappedBy = "secteur") public Set<Client> getClients() { return this.clients; } public void setClients(Set<Client> clients) { this.clients = clients; } }
mais la liste des secteurs ne se charge pas , et je me trouve face à cette exception :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 <h:selectOneMenu value="#{ClientBean.currentClient.secteur}"> <f:selectItems value="#{SecteurBean.secteurList}" /> </h:selectOneMenu>
Pourriez vous m'aider svpp
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 4 juin 2012 16:00:29 com.sun.faces.lifecycle.LifecycleImpl phase ATTENTION: executePhase(RENDER_RESPONSE 6,com.sun.faces.context.FacesContextImpl@163de4e) threw exception java.lang.IllegalArgumentException: "Argument Error: An option for component j_id_jsp_662708871_102 was not an instance of javax.faces.model.SelectItem. Type found: java.util.ArrayList. at com.sun.faces.renderkit.RenderKitUtils.getSelectItems(RenderKitUtils.java:321) at com.sun.faces.renderkit.html_basic.MenuRenderer.getOptionNumber(MenuRenderer.java:506) at com.sun.faces.renderkit.html_basic.MenuRenderer.renderSelect(MenuRenderer.java:482) at com.sun.faces.renderkit.html_basic.MenuRenderer.encodeEnd(MenuRenderer.java:447) at javax.faces.component.UIComponentBase.encodeEnd(UIComponentBase.java:847) at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:241) at com.sun.faces.renderkit.html_basic.GroupRenderer.encodeChildren(GroupRenderer.java:153) at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:827) at com.sun.faces.renderkit.html_basic.HtmlBasicRenderer.encodeRecursive(HtmlBasicRenderer.java:233) at com.sun.faces.renderkit.html_basic.GridRenderer.encodeChildren(GridRenderer.java:270) at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:827) at javax.faces.component.UIComponent.encodeAll(UIComponent.java:883) at javax.faces.render.Renderer.encodeChildren(Renderer.java:137) ....
Partager