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 :

problème dans l'appel d'une methode


Sujet :

JSF Java

  1. #1
    Membre du Club
    Femme Profil pro
    Développeur Java
    Inscrit en
    Mars 2012
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2012
    Messages : 61
    Points : 58
    Points
    58
    Par défaut problème dans l'appel d'une methode
    bonjour tous le monde ,
    je travaille sur une formulaire pour l'inscription d’étudiant j'ai des inputText à remplir et deux selectOneMenu rempli a partir de la BD je rempli le 2éme selon la valeur selectionnée dans le 1er selectOneMenu comme ceci :

    inscription.xhtml

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <h:outputText align="left" styleClass="label"  value="Specialite: " />
    <h:selectOneMenu styleClass="selectbox_styled"  value="# {apprenantBean.idSpecialite}" >
    <f:selectItems value="#{apprenantBean.specialites}"  />
    <f:ajax event="change" render=":formi:select" listener="#{apprenantBean.changer}"/>
    </h:selectOneMenu>
     
    <h:outputText align="left" styleClass="label" value="Classe  : " />
    <h:selectOneMenu styleClass="selectbox_styled" id="select"
     value="#{apprenantBean.idClasse}">
    <f:selectItems value="#{apprenantBean.apprenants}" />
    </h:selectOneMenu>

    et voila ma methode changer que j'ai mis dans apprenantBean :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public void  changer(AjaxBehaviorEvent e){
    	apprenants=DaoApprenant.getItemsClass(idSpecialite);
     
    }
    mon problème c'est que j'ai une commandButton dans ma page inscription.xhtml qui fait appel à une methode qui enregistre les données dans la BD mais la methode ne s'exécute pas ou plutôt il s'appelle pas et quand j'enleve les 2 selectOneMenu il s'execute ,et il s'affiche pas un message d'erreur
    svp si vous avez une idée n'hesitez pas à me répondre
    cordialement

  2. #2
    Membre du Club
    Femme Profil pro
    Développeur Java
    Inscrit en
    Mars 2012
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2012
    Messages : 61
    Points : 58
    Points
    58
    Par défaut
    je vais reformuler mon probléme :

    voila ma page inscription.xhtml :

    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
    <h:form id="formi"  >
     <h:outputText   styleClass="label" value="Nom : " />  
    <h:inputText styleClass="text_display" value="#{apprenantBean.apprenant.nom}" /> 
    <h:selectOneMenu styleClass="selectbox_styled"  value="#{apprenantBean.idSpecialite}" >
    <f:selectItems value="#{apprenantBean.specialites}"  />
     <f:ajax event="change" render=":formi:select" listener="#{apprenantBean.changer}"/>
     
    </h:selectOneMenu
    <h:outputText align="left" styleClass="label"  value="Classe  : " />
    <h:selectOneMenu styleClass="selectbox_styled" id="select"
     value="#{apprenantBean.idClasse}">
    <f:selectItems value="#{apprenantBean.apprenants}" />
    </h:selectOneMenu>
    <h:commandButton   action="#{apprenantBean.ajouter}"   styleClass="submit_button"  value="valider"  /> 
    </h:form>
    mon 1er selectOneMenu rempli a partir de la BD avec des specialités et lorsque je choisi une specialité je charge des classe dans le 2éme selectOneMenu selon la specialite mais le prob que lorsque je clique sur la commandButton la methode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    #{apprenantBean.ajouter}
    ne s'execute pas et lorsque j’enlève cette ligne de ajax :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <f:ajax event="change" render=":formi:select" listener="#{apprenantBean.changer}"/>
    la méthode s'execute normalement
    voila la méthode changer du classe apprenantBean :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    public void  changer(AjaxBehaviorEvent e){
    	apprenants=DaoApprenant.getItemsClass(idSpecialite);
     
    }
    si vous voiyez d'ou viens le prob n’hésitez pas a me répondre
    et mercii

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Juin 2012
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Conseil

    Informations forums :
    Inscription : Juin 2012
    Messages : 76
    Points : 33
    Points
    33
    Par défaut
    bonjour,je pense que vous avez un blem dans votre classe Bean

  4. #4
    Membre du Club
    Femme Profil pro
    Développeur Java
    Inscrit en
    Mars 2012
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2012
    Messages : 61
    Points : 58
    Points
    58
    Par défaut
    noo tifawa les deux méthode que j'ai dans mon ManagerBean s’exécute correctement mais comme j'ai dit la méthode que j'ai mis dans mon commandButton s’exécute que lorsque j’enlève la ligne d'ajax
    si vous voyer l'erreur n’hésitez pas de me répondre
    merci

  5. #5
    Membre actif Avatar de fastdeath124
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Août 2011
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur sécurité

    Informations forums :
    Inscription : Août 2011
    Messages : 117
    Points : 200
    Points
    200
    Par défaut
    bonjour, j'ai trouvé un exemple similaire à ce que tu fais http://showcase.richfaces.org/richfa...kin=deepMarine

    Dans cet exemple, "a4j:ajax" a été utilisé. Je ne sais pas si ça va résoudre le problème, mais tu peux essayer

  6. #6
    Membre du Club
    Femme Profil pro
    Développeur Java
    Inscrit en
    Mars 2012
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2012
    Messages : 61
    Points : 58
    Points
    58
    Par défaut
    merci fastdeath124 pour votre réponse ms je vois de richfaces dans le lien et moi je travail que avec JSF et primefaces
    merci encore

  7. #7
    Membre actif Avatar de fastdeath124
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Août 2011
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur sécurité

    Informations forums :
    Inscription : Août 2011
    Messages : 117
    Points : 200
    Points
    200
    Par défaut
    Dans ce cas, il te faut ce lien http://www.primefaces.org/showcase/ui/pprSelect.jsf
    D'ailleurs c'est presque le même exemple mais avec primefaces cette fois.

  8. #8
    Membre du Club
    Femme Profil pro
    Développeur Java
    Inscrit en
    Mars 2012
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2012
    Messages : 61
    Points : 58
    Points
    58
    Par défaut
    c'est presque le même code que j'ai fais ça donne le même resultat le même probléme

  9. #9
    Membre actif Avatar de fastdeath124
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Août 2011
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur sécurité

    Informations forums :
    Inscription : Août 2011
    Messages : 117
    Points : 200
    Points
    200
    Par défaut
    Le problème se trouve dans la balise
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <f:ajax event="change" render=":formi:select" listener="#{apprenantBean.changer}"/>
    Si tu enlèves 'render=":formi:select"' (normalement la deuxième liste ne sera pas mise à jour), est ce que l'appel à la méthode se fait?

  10. #10
    Membre du Club
    Femme Profil pro
    Développeur Java
    Inscrit en
    Mars 2012
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2012
    Messages : 61
    Points : 58
    Points
    58
    Par défaut
    bonjour,
    quand j'enléve l'appel se fait mais la 2éme liste ne se rempli pas (mise a jour ne s’effectue pas )

  11. #11
    Membre actif Avatar de fastdeath124
    Homme Profil pro
    Ingénieur sécurité
    Inscrit en
    Août 2011
    Messages
    117
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Ingénieur sécurité

    Informations forums :
    Inscription : Août 2011
    Messages : 117
    Points : 200
    Points
    200
    Par défaut
    Donc le problème vient de ce "render". J'ai travaillé avec richfaces et ça m'a fait la même chose.

    Je te propose d'essayer de remplacer ce "rerender" par :

  12. #12
    Membre du Club
    Femme Profil pro
    Développeur Java
    Inscrit en
    Mars 2012
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2012
    Messages : 61
    Points : 58
    Points
    58
    Par défaut
    je la essayer mais le même résultat ça me donne ni l'erreur ni la résultat,
    et merci pour votre réponse

  13. #13
    Membre du Club
    Femme Profil pro
    Développeur Java
    Inscrit en
    Mars 2012
    Messages
    61
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Mars 2012
    Messages : 61
    Points : 58
    Points
    58
    Par défaut
    je suis toujours avec le même problème est ce qu'il a un attribut autre que rendre et update qui peut me servir pour enlever rendre parce que c'est rendre qui fait le problème ou je dois ajouter quelque ligne ajax dans la commandButton ???.SVP n'hésitez pas de me répondre

Discussions similaires

  1. problème dans l'appel d'une commande Linux dans python
    Par ghadroud dans le forum Général Python
    Réponses: 25
    Dernier message: 20/04/2009, 14h55
  2. Réponses: 2
    Dernier message: 25/01/2008, 21h41
  3. Problème d'appel d'une methode amie
    Par Anium dans le forum C++
    Réponses: 5
    Dernier message: 02/01/2008, 18h56
  4. Réponses: 11
    Dernier message: 05/10/2006, 13h20
  5. Appel d'une methode java dans un fichier jsp
    Par kodo dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 06/05/2006, 13h46

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