Bonjour, je suis en train de developper une application entreprise avec JEE. C'est choisi de travailler avec netbeans 6.7 . J'ai choisi encore le framework JSf et la base de donnees MySQL . Le projet est composee d'une premiere page pour le login ou la creation d'un nouveau compte .Une deuxieme pour l'acceuil qui contient un lien "modify" vers une troisieme page pour la modification des donnees entrees precedemment dans le formulaire et enregistrees dans la base de donnees .J'ai voulu faire de tel sorte que les anciennes informations de l'utilisateur enregistrees dans la base de donnees soinent affichees dans les champs de la formulaire pour modifier ce qu'on veut et laisser ce qu'on veut .


Le code du page bean metier est le suivant :


Code java : 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
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
package metier;
 
import Ent.Client;
import Ent.ClientFacadeLocal;
import java.util.Date ;
 
import javax.ejb.EJB;
import javax.ejb.Stateless;
 
import java.util.Date;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.annotation.Resource;
import javax.faces.application.FacesMessage;
import javax.faces.context.ExternalContext;
import javax.faces.context.FacesContext;
import javax.persistence.EntityManager;
import javax.persistence.NoResultException;
import javax.persistence.PersistenceContext;
import javax.servlet.http.HttpSession;
import javax.transaction.UserTransaction;
 
 
/**
 *
 * @author NIDHAL
 */
@Stateless
public class metier {
      public static final String Client_SESSION_KEY = "client";
 
 EntityManager persistance;
    /** Creates a new instance of NewJSFManagedBean */
 
    //@Stateless
   @EJB
    private ClientFacadeLocal cf;
    private Client c;
 
 
    private String firstname;
    private String lastname;
    private String password;
    private String retypepassword ;
    private String login;
    private String mobilephone;
    private String company;
    private String title;
    private String department;
    private String cams;
    private int rightslevel;
    private Date insertiondate;
 
 
    public metier () {}
 
    public Client getC() {
        return c;
    }
 
    public void setC(Client c) {
        this.c = c;
    }
    public ClientFacadeLocal getCf() {
        return cf;
    }
 
 
     public String getFirstname() {
        return firstname;
    }
 
    public void setFirstname(String firstname) {
        this.firstname = firstname;
    }
    public String getLastname() {
        return lastname;
    }
 
    public void setLastname(String lastname) {
        this.lastname = lastname;
    }
    public String getLogin() {
        return login;
    }
 
    public void setLogin(String login) {
        this.login = login;
    }
 
    public String getPassword() {
        return password;
    }
 
    public void setPassword(String password) {
        this.password = password;
    }
    public String getRetypepassword() {
        return retypepassword;
    }
 
    public void setRetypepassword(String retypepassword) {
        this.retypepassword = retypepassword;
    }
    public String getMobilephone() {
        return mobilephone;
    }
 
    public void setMobilephone(String mobilephone) {
        this.mobilephone = mobilephone;
    }
    public String getCompany() {
        return company;
    }
 
    public void setCompany(String company) {
        this.company = company;
    }
    public String getTitle() {
        return title;
    }
 
    public void setTitle(String title) {
        this.title = title;
    }
    public String getDepartment() {
        return department;
    }
 
    public void setDepartment(String department) {
        this.department = department;
    }
    public String getCams() {
        return cams;
    }
 
    public void setCams(String cams) {
        this.cams = cams;
    }
    public int getRightslevel() {
        return rightslevel;
    }
 
    public void setRightslevel(int rightslevel) {
        this.rightslevel = rightslevel;
    }
 
public Date getInsertiondate() {
        return insertiondate;
    }
 
    public void setInsertiondate(Date insertiondate) {
        this.insertiondate = insertiondate;
    }
public String createuser()
{
 
     FacesContext context = FacesContext.getCurrentInstance();
 
c=cf.find(login);
 
    if (c == null) {
 
    if (!password.equals (retypepassword)){
 
        FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR,
                                           "Login Failed password and retyped password don't match !",
                                           "The password specified is not correct.");
 
        context.addMessage(null, message);
         return null;}
    c= new Client();
    int rightslevel =1 ;
    insertiondate=new Date();
    c.setFirstname(firstname);
    c.setLastname(lastname);
    c.setLogin(login);
    c.setPassword(password);
    c.setMobilephone(mobilephone);
    c.setCompany(company);
    c.setTitle(title);
    c.setDepartment(department);
    c.setCams(cams);
    c.setRightslevel(rightslevel);
    c.setInsertiondate(insertiondate);
    cf.create(c);
   return "success";
    }
    else
    {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR,
                                                    "Username '"
                                                      + login
                                                      + "' already exists!  ",
                                                    "Please choose a different username.");
            context.addMessage(null, message);
            return null;
        }
}
public String validate()
{
   FacesContext context = FacesContext.getCurrentInstance();
    c=cf.find(login);
 
    if (c != null) {
            if (!c.getPassword().equals(password)) {
                FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR,
                                           "Login Failed!",
                                           "The password specified is not correct.");
                context.addMessage(null, message);
                return null;
            }
            else{
            context.getExternalContext().getSessionMap().put(Client_SESSION_KEY, cf);
            return "validate";}
        } else {
            FacesMessage message = new FacesMessage(FacesMessage.SEVERITY_ERROR,
                    "Login Failed!",
                    "Username '"
                    + login
                    +
                    "' does not exist.");
            context.addMessage(null, message);
            return null;
        }
 
}
 
public String create()
{
    return "create";
}
public String modify()
{  
    return "modify";
}
public String update()
{
    return "updated";
}
public String remove()
{ 
   /* cf.remove(c);*/
    return "removed";
}
public String list()
{
    return "list";
}
}



Le code JSF de la page de modification du profile est le suivant :



Code java : 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
<%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
<%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<%@taglib prefix="sql" uri="http://java.sun.com/jsp/jstl/sql"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
   "http://www.w3.org/TR/html4/loose.dtd">
 
<f:view>
<html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
            <title>JSP Page</title>
        </head>
        <body>
            <h1><h:outputText value="Hello World!"/></h1><h1>Create a New Account</h1>
 
 
        <h:form id="create">
            <h:panelGrid columns="3" border="0">
                First Name: <h:inputText id="firstname"
                                         requiredMessage="*"
                                         value="#{metier.c.firstname}"
                                         required="true"/>
                            <h:message for="create:firstname" style="color: red"/>
                Last Name: <h:inputText id="lastname"
                                        requiredMessage="*"
                                        value="#{metier.c.lastname}"
                                        required="true"/>
                           <h:message for="create:lastname" style="color: red"/>
                Username: <h:inputText id="login"
                                       requiredMessage="*"
                                       value="#{metier.c.login}"
                                       required="true"/>
                          <h:message for="create:login" style="color: red"/>
                Password: <h:inputSecret id="password"
                                         requiredMessage="*"
                                         value="#{metier.password}"
                                         required="true">
                                         <f:validateLength maximum="15" minimum="6"/>
                                         </h:inputSecret>
                          <h:message for="create:password" style="color: red"/>
                Retype Password : <h:inputSecret id="retypepassword"
                                                  requiredMessage="*"
                                                  value="#{metier.retypepassword}"
                                                  required="true"/>
                                   <h:message for="create:retypepassword" style="color: red"/>
                Mobile Phone: <h:inputText id="mobilephone"
                                         requiredMessage="*"
                                         value="#{metier.c.mobilephone}"
                                         required="true"/>
                          <h:message for="create:mobilephone" style="color: red"/>
                Company: <h:inputText id="company"
                                         requiredMessage="*"
                                         value="#{metier.c.company}"
                                         required="true"/>
                          <h:message for="create:company" style="color: red"/>
                Title: <h:inputText id="title"
                                         requiredMessage="*"
                                         value="#{metier.title}"
                                         required="true"/>
                          <h:message for="create:title" style="color: red"/>
                Department: <h:inputText id="department"
                                         requiredMessage="*"
                                         value="#{metier.c.department}"
                                         required="true"/>
                          <h:message for="create:department" style="color: red"/>
                Cams: <h:inputText id="cams"
                                         requiredMessage="*"
                                         value="#{metier.c.cams}"
                                         required="true"/>
                          <h:message for="create:cams" style="color: red"/>
            </h:panelGrid>
            <h:commandButton id="submit"
                             value="Update"
                             action="#{metier.modify}"/>
            <h:messages style="color: red" globalOnly="true"/>
 
            </h:form>
 
        </body>
    </html>
    </f:view>



Pour le faire j'ai utilisé la declaration suivante

Code java : Sélectionner tout - Visualiser dans une fenêtre à part
value="#{metier.c.cams}"

comme value mais j'ai rien obtenue dans les zones de texte inputtext .


J'ai rien mis dans la methode Update dde la page metier car j'ai voulu tester avant .
je sais pas si j'ai fait le bon choix ?Mais j'espére trouver ici la solution .

Merci d'avance .