Bonjour,
j'utilise JSF/jpa pour la gestion des utilisateur, je fais une recherche d'un utilisateur et quand
je veux le modifier ou le supprimer il me retourne la meme page ,sachant que la modification et la suppression
s'execute bien quand j'affiche la liste de tous les utilisateurs
GestionUtilisateur.xhtml
Modification.xhtmlCode:
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 <h:form> ****<h:panelGrid columns="3"> ********<h:outputLabel value="Recherche Utilisateur: "/> ********<h:inputText id="keyword" value="#{userBean.iduser}" class="form-control" required="true" label="Keyword" /> ********<br /> ********<h:commandButton value="Rechercher par id"* class="btn btn-default"/> ****</h:panelGrid> ****<br /> ****</h:form> * <h:form> ****<h:dataTable value="#{userBean.utilisateurByid}" var="u" border="2" rowClasses="row1,row2"* style="margin-top:50px;" class="table table-bordered table-striped table-condensed" rendered="#{not empty userBean.utilisateurByid}"> ********<h:column> ************<f:facet name="header"> ****************<h:outputText value="login"/> ************</f:facet> ************<h:outputText value="#{u.login}"/> ************* ********</h:column> ********<h:column> ************<f:facet name="header"> ****************<h:outputText value="nom"/> ************</f:facet> ************<h:outputText value="#{u.nom}"/> ********</h:column> ********<h:column> ************<f:facet name="header"> ****************<h:outputText value="prenom"/> ************</f:facet> ************<h:outputText value="#{u.prenom}"/> ********</h:column> ********<h:column> ************<f:facet name="header"> ****************<h:outputText value="num"/> ************</f:facet> ************<h:outputText value="#{u.num}"/> ********</h:column> ********<h:column> ************<f:facet name="header"> ****************<h:outputText value="fonction"/> ************</f:facet> ************<h:outputText value="#{u.fonction}"/> ********</h:column> ********<h:column> ****************<f:facet name="header"> ********************<h:outputText value="EDITER" /> ****************</f:facet> ****************<h:commandLink value="edit" action="#{userBean.edit(u)}" /> ************</h:column> ****************<h:column> ****************<f:facet name="header"> ********************<h:outputText value="Supprimer" /> ****************</f:facet> ****************<h:commandLink value="supprimer" action="#{userBean.remove(u)}" /> ************</h:column> ********<h:messages globalOnly="true" style="color:red ;margin:8px;"/> </h:dataTable> * </h:form>
userBean.javaCode:
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 <h:form> ****<h:panelGrid columns="3"> ********<h:outputLabel value="Recherche Utilisateur: "/> ********<h:inputText id="keyword" value="#{userBean.iduser}" class="form-control" required="true" label="Keyword" /> ********<br /> ********<h:commandButton value="Rechercher par id"* class="btn btn-default"/> ****</h:panelGrid> ****<br /> ****</h:form> * <h:form> ****<h:dataTable value="#{userBean.utilisateurByid}" var="u" border="2" rowClasses="row1,row2"* style="margin-top:50px;" class="table table-bordered table-striped table-condensed" rendered="#{not empty userBean.utilisateurByid}"> ********<h:column> ************<f:facet name="header"> ****************<h:outputText value="login"/> ************</f:facet> ************<h:outputText value="#{u.login}"/> ************* ********</h:column> ********<h:column> ************<f:facet name="header"> ****************<h:outputText value="nom"/> ************</f:facet> ************<h:outputText value="#{u.nom}"/> ********</h:column> ********<h:column> ************<f:facet name="header"> ****************<h:outputText value="prenom"/> ************</f:facet> ************<h:outputText value="#{u.prenom}"/> ********</h:column> ********<h:column> ************<f:facet name="header"> ****************<h:outputText value="num"/> ************</f:facet> ************<h:outputText value="#{u.num}"/> ********</h:column> ********<h:column> ************<f:facet name="header"> ****************<h:outputText value="fonction"/> ************</f:facet> ************<h:outputText value="#{u.fonction}"/> ********</h:column> ********<h:column> ****************<f:facet name="header"> ********************<h:outputText value="EDITER" /> ****************</f:facet> ****************<h:commandLink value="edit" action="#{userBean.edit(u)}" /> ************</h:column> ****************<h:column> ****************<f:facet name="header"> ********************<h:outputText value="Supprimer" /> ****************</f:facet> ****************<h:commandLink value="supprimer" action="#{userBean.remove(u)}" /> ************</h:column> ********<h:messages globalOnly="true" style="color:red ;margin:8px;"/> </h:dataTable> * </h:form>
userDao.javaCode:
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 @RequestScoped @Named public class UserBean { * ****@Inject ****private UserDao uDao; ***** ****private Utilisateur edituser=new Utilisateur(); ***** ****private int iduser; ***** ***** ****public int getIduser() { ********return iduser; ****} * ****public void setIduser(int iduser) { ********this.iduser = iduser; ****} * ****// Recherche par Id bean ****public Utilisateur getUtilisateurByid() ****{** ********return uDao.getByid(iduser); ****} ****public void SetUtilisateurByid(int id) ****{ ********this.iduser=id; ****} ***** ****public Utilisateur getEdituser() { ********return edituser; ****} ***** ****public void setEdituser(Utilisateur edituser) { ********this.edituser = edituser; ****} * ***** ****public void edit(Utilisateur u) throws IOException ****{ ********edituser=u; ********FacesContext.getCurrentInstance().getExternalContext().dispatch("ModifierUtilisateur.xhtml"); ****} ***** ****public void update() throws IOException{ ********uDao.update(edituser); ********FacesContext.getCurrentInstance().getExternalContext().dispatch("GestionUtilisateur.xhtml"); ****} ***** ****public void remove(Utilisateur u){ ********uDao.delete(u); ****}** }
Utilisateur.javaCode:
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 @Stateless * public class UserDao { * ****@PersistenceContext(name="PFE") ****private EntityManager em; ***** ****public UserDao(){} ***** ****public List<Utilisateur> getAll(){ ********Query qry=em.createNamedQuery("Utilisateur.findAll"); ********return qry.getResultList(); ****} ***** ****// Recherche par id Dao ********public Utilisateur getByid(int num) ********{ *************Query query = em.createQuery("SELECT i FROM Utilisateur i WHERE i.num=:num"); *************query.setParameter("num",num); *************List<Utilisateur> Utilisateurs = query.getResultList(); *************Utilisateur result = null; *************if(Utilisateurs != null && Utilisateurs.size() == 1) *************result = Utilisateurs.get(0); *************return result; ********} ***** ***** ****public void delete(Utilisateur u) { ********em.remove(em.merge(u)); ****} ****public void update(Utilisateur u) { ********em.merge(u); ****} ***** }
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
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70 @Entity @NamedQuery(name="Utilisateur.findAll", query="SELECT u FROM Utilisateur u") public class Utilisateur implements Serializable { ****private static final long serialVersionUID = 1L; * ****@Id ****@GeneratedValue(strategy=GenerationType.IDENTITY) ****private int num; * ****private String fonction; * ****private String login; * ****private String motdepasse; * ****private String nom; * ****private String prenom; * ****public Utilisateur() { ****} * ****public int getNum() { ********return this.num; ****} * ****public void setNum(int num) { ********this.num = num; ****} * ****public String getFonction() { ********return this.fonction; ****} * ****public void setFonction(String fonction) { ********this.fonction = fonction; ****} * ****public String getLogin() { ********return this.login; ****} * ****public void setLogin(String login) { ********this.login = login; ****} * ****public String getMotdepasse() { ********return this.motdepasse; ****} * ****public void setMotdepasse(String motdepasse) { ********this.motdepasse = motdepasse; ****} * ****public String getNom() { ********return this.nom; ****} * ****public void setNom(String nom) { ********this.nom = nom; ****} * ****public String getPrenom() { ********return this.prenom; ****} * ****public void setPrenom(String prenom) { ********this.prenom = prenom; ****} }