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 :

données dans bean restent null


Sujet :

JSF Java

  1. #1
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 20
    Par défaut données dans bean restent null
    Bon jour;

    j'ai pas compris comment ca ce passe avec cette erreur:

    la classe technicien et une jointure avec la classe compte:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
     
    //////////////////////relation directe//////////////////////////////	
     
     
    	@OneToOne(cascade = CascadeType.ALL)
    	 @JoinColumn(name = "compte_id", unique = true, nullable = false)
    	 private Compte compte;

    dans la classe compte

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
            @OneToOne(mappedBy = "compte")
    	 private Technicien technicien;

    dans la JSPx j'appuit sur le boutton dans datatableet

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <ice:commandButton image="/images/cherche.png"  actionListener="#{crudTechnicien.infoTechnicien }">	<f:setPropertyActionListener value="#{p}" target="#{crudTechnicien.technicien}" />

    le resultat sera dans une Jspx (il marche bien!!!!)

    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
     
     
     
    							 <ice:outputLabel for="cin1" value="Numero de CIN"/>
    							 <ice:outputText id="cin1" value="#{crudTechnicien.technicien.cin}"/>
     
     
    							 <ice:outputLabel for="prenom1" value="Prenom"/>
    							 <ice:outputText id="prenom1" value="#{crudTechnicien.technicien.prenom}"/>
     
    							 <ice:outputLabel for="nom1" value="Nom"/>
    							 <ice:outputText id="nom1" value="#{crudTechnicien.technicien.nom}"/>
     
    							 <ice:outputLabel for="telephone11" value="Telephone 1"/>
    							 <ice:outputText id="telephone11" value="#{crudTechnicien.technicien.telephone1}"/> 
     
    						     <ice:outputLabel for="telephone21" value="Telephone 2"/>
    							 <ice:outputText id="telephone21" value="#{crudTechnicien.technicien.telephone2}"/>
     
    							 <ice:outputLabel for="email1" value="Email"/>
    							 <ice:outputText id="email1" value="#{crudTechnicien.technicien.email}"/>
     
    						     <ice:outputLabel for="identifiant1" value="Identifiant"/>
    							 <ice:outputText id="identifiant1" value="#{crudTechnicien.technicien.compte.identifiant}"/>
     
    							  <ice:outputLabel for="motDePasse1" value="Mot de passe"/>
    							 <ice:outputText id="motDePasse1" value="#{crudTechnicien.technicien.compte.motDePasse}"/>
     
     
    							  <ice:outputLabel for="activation1" value="Activation de compte"/>
    							 <ice:outputText id="motDePasse1" value="#{crudTechnicien.technicien.compte.activation}"/>
     
    						   <center>


    mais se qui ne marche pas c'est dans le JavaBean si je fait un affichage sur la console tous les change sont null

    MAIS si je clic sur le bouton plusieurs fois rapidement les champs seraient rempli, alors si je fait par exemple "technicien.getCompte().getActivation()"
    un erreur de null pointer apparait sur cette ligne de plus si je veut récupérer le résultat dans un input la même erreur apparait.

    le code dans JavaBean crudTechnicien

    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
     
        public void infoTechnicien(ActionEvent e){
     
        	if(technicien != null){
        		System.out.println("*************************"+technicien);
     
        		if(technicien.getCompte().getActivation()==true)
        			imgActivation="/images/activation/activer.png";
        			else
        				imgActivation="/images/activation/disactiver.png"; 
     
     
        		popDetailVisible=true;
     
        }}



    svp aidez moi......

  2. #2
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2007
    Messages : 165
    Par défaut
    Bonsoir,
    Quelle est l'erreur qui s'affiche ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <ice:commandButton image="/images/cherche.png"  actionListener="#{crudTechnicien.infoTechnicien }">	<f:setPropertyActionListener value="#{p}" target="#{crudTechnicien.technicien}" />
    Tu n'aurais pas oublié de fermer le tag ? Et pour #{p} ça semble être faut comme EL.

  3. #3
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 20
    Par défaut
    merci,Chabanus:

    - Le tag est bien formé mais j'ai oublié de le copier.
    - pour le EL value="#{p}" j'ai mit comme nom de variable dans le datatable
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    <ice:dataTable  id="data" border="1" rows="5" 
                           var="p" value="#{controleTechnicien.techniciens}"

    ***

    j'ai une relation entre la classe Technicien et Compte (OneToOne) et je travail avec les session,

    si je fait dans ma jspx par exemple avec des composant output:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     <ice:outputLabel for="email1" value="Email"/>
    							 <ice:outputText id="email1" value="#{crudTechnicien.technicien.email}"/>
     
    						     <ice:outputLabel for="identifiant1" value="Identifiant"/>
    							 <ice:outputText id="identifiant1" value="#{crudTechnicien.technicien.compte.identifiant}"/>

    ca marche impeccable,aucune erreur sauf dans l'afficahge sur la console tous les champs son null

    mais si je clic plusieurs fois les champs se rempli !!!!!!!!


    LE PROBLEME


    1- Si je fait un affichage de technicien.getCompte.getMotDePasse()
    dans la console un erreur de nullpointer a cause de cette ligne de commande


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    30 mai 2010 11:12:41 javax.faces.event.MethodExpressionActionListener processAction
    GRAVE: Received 'java.lang.NullPointerException' when invoking action listener '#{crudTechnicien.infoTechnicien }' for component 'j_id232'
    30 mai 2010 11:12:41 javax.faces.event.MethodExpressionActionListener processAction
    GRAVE: java.lang.NullPointerException
    	at web.administrateur.CrudTechnicien.infoTechnicien(CrudTechnicien.java:121)
    	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)


    DE plus si je veut faire modification sur ces champs par exemple il faut que je met les valeur dans des INPUT

    et dans ce ca j'ai le meme probleme de null pointer



    Vraiment ca m'étonnerais beaucoup pour quoi avec les output ca marche mais avec les input et S.O.P ca marche pas !!!!!!!!!!!!!!!!!!!!!!!

  4. #4
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2007
    Messages
    165
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Finance

    Informations forums :
    Inscription : Mai 2007
    Messages : 165
    Par défaut
    Inutile de te compliquer les choses, l'erreur est toute bête, il te suffit de changer d'identifiant à chaque composant .
    Remplace motDePasse1 par des id différents.

  5. #5
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 20
    Par défaut
    Citation Envoyé par Chabanus Voir le message
    Inutile de te compliquer les choses, l'erreur est toute bête, il te suffit de changer d'identifiant à chaque composant .
    Remplace motDePasse1 par des id différents.
    ta raison il y a une petite faute de id mais c'est pas ca le pb malheureusement,
    le pb persiste et l'erreur dans la console rien a voir avec les id.

    merci

  6. #6
    Membre averti
    Inscrit en
    Avril 2010
    Messages
    20
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 20
    Par défaut
    Bon après des jours ;
    j'ai un collegue qui a testé de remplacer actionListener par action dans un bouton est ca marcher donc je crois que

    setPropertyActionListener s'exécute au même temps que actionListener ??????

    acien code

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
     
    <ice:commandButton  id="x"   actionListener="#{bean.methode}" >
    					<f:setPropertyActionListener value="#{attribut}" target="#{bean.attribut}" />
     
    					</ice:commandButton>

    nouveau code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    <ice:commandButton  id="x"   action="#{bean.methode}" >
    					<f:setPropertyActionListener value="#{attribut}" target="#{bean.attribut}" />
     
    					</ice:commandButton>


    Enfinnnnnnnnnnnnnnnnnnnnn,hamdolellah

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 7
    Dernier message: 16/01/2015, 14h24
  2. Réponses: 1
    Dernier message: 30/09/2013, 14h06
  3. Réponses: 2
    Dernier message: 23/05/2013, 02h22
  4. Réponses: 4
    Dernier message: 24/10/2007, 10h43
  5. trier les données dans le cache ??
    Par psyco2604 dans le forum XSL/XSLT/XPATH
    Réponses: 31
    Dernier message: 10/06/2003, 10h03

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