Il est déclaré, mais il est null, il n'est jamais initialisé, jamais instancié ou encore injecté !!
Or, en Java, tu ne peux pas utiliser des méthodes sur un objet null.
Il est déclaré, mais il est null, il n'est jamais initialisé, jamais instancié ou encore injecté !!
Or, en Java, tu ne peux pas utiliser des méthodes sur un objet null.
Nous sommes tous semblables, alors acceptons nos différences !
--------------------------------------------------------------
Liens : Blog | Page DVP | Twitter
Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
Critiques : Apache Maven
Bonjour ,
peut tu me montrer la ligne avec laquelle j'ai initialisé le cf dans la methode 'createuser' qui marche bien pour que je fasse la meme chose dans la methode 'createinterest' pour le 'inf' ? ou bien peut tu me montrer ou et comment l'initialiser exactement ?
(je me suis perdus)
Merci d'avance
Bon, si on regarde ton code, voici ce fait ta méthode createuser :
A aucun moment cette méthode n'utilise l'objet inf. Donc il est normal que cette méthode fonctionne !
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 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(); Random rnd=new Random(); int code = rnd.nextInt(100000)+100000; 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); c.setCode(code); 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; } }
Nous sommes tous semblables, alors acceptons nos différences !
--------------------------------------------------------------
Liens : Blog | Page DVP | Twitter
Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
Critiques : Apache Maven
Salut ,
je sais que dans la methode 'createuser ' il y'a pas de 'inf' .
Ce que j'ai voulu dire c'est que la methode 'createuser' est similaire à la methode 'createinterest' . Dans la methode 'createinterest' , on a besoin de 'inf' de type 'InterestFacadeLocal' et tu m'a dit qu'on doit l'initialiser .
Dans la methode 'createuser' , on a utilisé 'cf ' de type 'ClientFacedeLocal' .
Et je l'ai pas initialisé et c'a bien marché .
Ce que j'ai voulu dire , c'est que le meme démarche (par analogie) appliqué dans chacune des deux methodes (createuser et createinterset) a aboutit a un bon résultat dans la premiere et à un erreur dans la deuxieme .
Je voi pas la différence .
Merci
Effectivement, tu as raison.
Je pense qu'il te faut regarder la réponse donnée par VirageGroup.
cf est en réalité injectée par le framework de gestion des EJB :
Il te faut donc ajouter cette annotation aussi sur cf :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 @EJB private ClientFacadeLocal cf;
Fais attention, pense à bien indenter ton code (Ctrl+Shift+F sur Eclipse) pour y voir plus clair...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 @EJB private ClientFacadeLocal cf; private Client c; @EJB private InterestFacadeLocal inf; private Interest i;
Nous sommes tous semblables, alors acceptons nos différences !
--------------------------------------------------------------
Liens : Blog | Page DVP | Twitter
Articles : Hudson | Sonar | Outils de builds Java Maven 3 | Play! 1 | TeamCity| CitConf 2009
Critiques : Apache Maven
Salut ,
effectivement , ma faute est que j'ai mis une seule fois lede la maniére :
Code : Sélectionner tout - Visualiser dans une fenêtre à part @EJB
et non plus deux fois :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 @EJB private ClientFacadeLocal cf; private Client c; private InterestFacadeLocal inf; private Interest i;
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 @EJB private ClientFacadeLocal cf; private Client c; @EJB private InterestFacadeLocal inf; private Interest i;
Merci beaucoup .
Partager