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 :

Liste déroulante avec EJB et JSF


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Femme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9
    Par défaut Liste déroulante avec EJB et JSF
    Bonjour,

    je suis entrain de developper une page qui me permet d'ajouter un nouveau employee.
    cet employee a un cle etrangere avec privilege. donc il faut avoir une liste dans la page d'ajout d'un employee qui donne la liste des privilege afin de choisir une. j'ai fait le code source et normalement il est valide mais il m'affiche une erreur "java.lang.NullPointerException"
    j'utilise netbeans 7.1.1 avec la framework jsf et ejb.

    voici le code source de EmployeeMBean.java:
    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
    private Converter privilegeConverter = new Converter() { 
    @Override 
    public Object getAsObject(FacesContext context, UIComponent component, String value) { 
    char code = value.charAt(0); 
    Privilege pr = gestionnairePrivilege.getPrivilegeByCodePrivilege(code); 
    return pr; 
    } 
    @Override 
    public String getAsString(FacesContext context, UIComponent component, Object value) { 
    Privilege pr = (Privilege) value; 
    return pr.getCodePrivilege()+" : "+pr.getLibellePrivilege(); 
    } 
    }; 
    public List<SelectItem> getAllPrivileges() { 
    List<SelectItem> options = new ArrayList<SelectItem>(); 
    List<Privilege> lpr = gestionnairePrivilege.getAllPrivilege(); 
    for(Privilege pr : lpr) { 
    options.add(new SelectItem(pr.getCodePrivilege()+" : "+pr.getLibellePrivilege())); 
    } 
    return options; 
    } 
     
     
    public Converter getPrivilegeConverter() { 
    return privilegeConverter; 
    }
    voici le code source de GestionnairePrivilege.java:
    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
    package session; 
     
    import entities.Privilege; 
    import java.util.List; 
    import javax.ejb.Stateless; 
    import javax.ejb.LocalBean; 
    import javax.persistence.EntityManager; 
    import javax.persistence.PersistenceContext; 
    import javax.persistence.Query; 
     
    @Stateless 
    @LocalBean 
    public class GestionnairePrivilege { 
    @PersistenceContext(unitName = "GMTTPU") 
    private EntityManager emm; 
     
    public List<Privilege> getAllPrivilege() { 
    Query query = emm.createNamedQuery("Privilege.findAll"); 
    return query.getResultList(); 
    } 
     
    public Privilege update(Privilege privilege) { 
    return emm.merge(privilege); 
    } 
     
    public void create(Privilege privilege) { 
    emm.persist(privilege); 
    } 
     
    public Privilege getPrivilegeByCodePrivilege(char code) { 
    Query query = emm.createNamedQuery("EtatEmployee.findByCodeEtatEmployee"); 
    query.setParameter("CodePrivilege", code); 
    return (Privilege) query.getSingleResult(); 
    } 
    }
    voici le code de la page AjoutEmployee.xhtml:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <h:outputLabel value="PrivilegeEmployee:" for="privilegeEmployee" /> 
    <h:selectOneMenu id="privilegeEmployee" value="#{employeeMBean.empM.emp.privilegeEmployee}"> 
    <f:selectItems value="#{employeeMBean.allPrivileges}"/> 
    </h:selectOneMenu>
    j'ai pas tout le code car c'est trop long
    merci de m'aider car je suis blocké danc cette etape depuis quelque jour
    merci d'avance

  2. #2
    Membre Expert
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Par défaut
    Bonjour,

    Quelle ligne génère l'exception ?

  3. #3
    Membre Expert
    Avatar de fxrobin
    Homme Profil pro
    Architecte SI, Java Fan, API Manager
    Inscrit en
    Novembre 2007
    Messages
    875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Architecte SI, Java Fan, API Manager
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Novembre 2007
    Messages : 875
    Par défaut
    Salut,

    de ton code du converter dans getAsObject()

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    char code = value.charAt(0); 
    Privilege pr = gestionnairePrivilege.getPrivilegeByCodePrivilege(code); 
    return pr;
    tu devrais vérifier que value n'est pas "null" d'abord ;
    ensuite est-ce que pr n'est pas null après la récupération du "Privilege pr" à partir de gestionnairePrivilege ?

  4. #4
    Membre averti
    Femme Profil pro
    Développeur Java
    Inscrit en
    Décembre 2011
    Messages
    9
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Développeur Java
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Décembre 2011
    Messages : 9
    Par défaut
    le probleme est dans le generateur de la liste ds privilege car si je supprime le combobox du liste privilege la page fonctionne( elle m'affiche les zone de texte pour le nom,prenom...) donc le probleme est dans la liste.
    NB: j'ai une autre page qui affiche la liste des privileges et ça fonctionne tres bien

  5. #5
    Membre Expert
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Par défaut
    Je parlais de la ligne de code Java

Discussions similaires

  1. Réponses: 5
    Dernier message: 13/10/2005, 10h19
  2. liste déroulante avec ajout possible
    Par bachilbouzouk dans le forum ASP
    Réponses: 5
    Dernier message: 19/04/2005, 11h48
  3. liste déroulante avec données mysql
    Par fab44 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 24/02/2005, 19h45
  4. liste déroulante avec session
    Par leeloo076 dans le forum ASP
    Réponses: 3
    Dernier message: 19/03/2004, 11h01

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