IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JSF Java Discussion :

NullPointerException erreur avec JSF


Sujet :

JSF Java

  1. #21
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    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

  2. #22
    Membre confirmé
    Inscrit en
    Février 2009
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 132
    Par défaut
    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

  3. #23
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    Citation Envoyé par dalidali86 Voir le message
    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 :

    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;
        }
    }
    A aucun moment cette méthode n'utilise l'objet inf. Donc il est normal que cette méthode fonctionne !
    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

  4. #24
    Membre confirmé
    Inscrit en
    Février 2009
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 132
    Par défaut
    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

  5. #25
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Par défaut
    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 :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    @EJB
    private ClientFacadeLocal cf;
    Il te faut donc ajouter cette annotation aussi sur cf :

    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;
    Fais attention, pense à bien indenter ton code (Ctrl+Shift+F sur Eclipse) pour y voir plus clair...
    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

  6. #26
    Membre confirmé
    Inscrit en
    Février 2009
    Messages
    132
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 132
    Par défaut
    Salut ,

    effectivement , ma faute est que j'ai mis une seule fois le de la maniére :

    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;
    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;
     
    @EJB
    private InterestFacadeLocal inf;
    private Interest i;

    Merci beaucoup .

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. erreur de mise a jour avec jsf et ajax
    Par hermannteussido dans le forum JSF
    Réponses: 0
    Dernier message: 10/04/2015, 13h53
  2. Réponses: 1
    Dernier message: 25/10/2014, 21h55
  3. JSF Erreur avec input
    Par siva27 dans le forum JSF
    Réponses: 20
    Dernier message: 25/09/2014, 13h27
  4. Erreur "java.lang.NullPointerException" avec JSF
    Par opium1er dans le forum JSF
    Réponses: 6
    Dernier message: 15/07/2013, 18h16
  5. erreur de recuperation de donne avec jsf
    Par alen22 dans le forum JSF
    Réponses: 11
    Dernier message: 25/03/2011, 08h19

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo