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 :

Mise à jour dans ma page jsf de plusieurs SelectItem


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Mise à jour dans ma page jsf de plusieurs SelectItem
    Bonjour,

    J'ai dans ma page jsp 3 SelectItem : Faculté, Section, Departement. La première propose une liste mais les 2 suivantes sont disabled.

    Quand j'ai choisi une faculté, ça libère la deuxième et me propose la liste des sections de cette faculté.

    Quand je choisis une section, ça libère la troisième et me propose la liste des départements de cette section.

    Je fais tout ça par des actionListener, jusque là, tout fonctionne bien.

    Par contre quand je reviens sur mes choix, ça fait des choses bizarres.

    Dans mon SelectItem "Section", j'ai le choix entre ne rien choisir (entrée "Aucun") ou de choisir une section. Si "Aucun" est choisi, le 3ème SelectItem "Département" est grisé car je ne peux pas fournir de liste. Si une section est choisie, le 3ème est libéré et fournit une liste des départements. Je sélectionne alors un département.
    Je change alors d'avis, je veux juste choisir une faculté de manière globale et je reviens sur le choix initial "Aucun" du SelectItem Section, ce qui remet en grisé "Département". Jusque là ça marche encore, mais si je rechoisis la même section que précédemment, il me sélectionne automatiquement le département précédent. Et je ne sais pas pourquoi. Dans ma méthode liée au actionListener, j'initalise cette valeur à "Aucun", que je retrouve d'ailleurs dans le grisé, mais on dirait qu'en remettant le SelectItem en marche, il reprend la valeur en session précédente. Est-ce possible ?

    J'espère que je suis claire, c'est pas facile à décrire.

  2. #2
    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
    Hello,

    Pourrais-tu nous donner le code de ton bean ainsi que ceux de la page, afin qu'on approfondisse le problème...
    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

  3. #3
    Invité
    Invité(e)
    Par défaut
    mais bien sur. Désolée, je ne travaille pas le mercredi après midi

    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
     
    	public void updateSection ( ValueChangeEvent event )
    			throws AffichageException
    	{
     
    		section = ( String ) event.getNewValue( );
    		department = DEPARTMENT_BY_DEFAULT;
    		if ( section.compareTo(SECTION_BY_DEFAULT ) != 0 )
    		{
    			isSectionChecked = true;
    		}
    		else
    		{
    			isSectionChecked = false;
    		}
     
    	}

  4. #4
    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
    Une petite question :

    Quand l'utilisateur a choisi la valeur du 3e SelectItem (on va dire SI#3), et qu'il modifie son choix sur le SI#1, est-ce qu'au niveau de ton bean, tu remets bien à null la value liée aux SI#2 et SI#3 ?

    Par exemple, si sur ta page tu as ça pour le SI#3:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <h:selectOneMenu value="#{myBean.dept}" ...>
    si l'utilisateur change la valeur de ton SI#1 ou SI#2, alors il te faut bien affecter null à dept de myBean.
    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

  5. #5
    Invité
    Invité(e)
    Par défaut
    J'ai ce code là pour SI1

    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
     
    	public void updateFaculty ( ValueChangeEvent event )
    			throws AffichageException
    	{
     
    		faculty = ( String ) event.getNewValue( );
    		section = SECTION_BY_DEFAULT;
    		department = DEPARTMENT_BY_DEFAULT;
     
    		if ( faculty.compareTo( FACULTY_BY_DEFAULT ) != 0 )
    		{
    			isFacultyChecked = true;
    		}
    		else
    		{
    			isFacultyChecked = false;
    			isSectionChecked = false;
    		}
     
    	}

  6. #6
    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
    Quel est ton code des SI au niveau des pages JSF ?
    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

  7. #7
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par romaintaz Voir le message
    Une petite question :

    Quand l'utilisateur a choisi la valeur du 3e SelectItem (on va dire SI#3), et qu'il modifie son choix sur le SI#1, est-ce qu'au niveau de ton bean, tu remets bien à null la value liée aux SI#2 et SI#3 ?

    Par exemple, si sur ta page tu as ça pour le SI#3:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <h:selectOneMenu value="#{myBean.dept}" ...>
    si l'utilisateur change la valeur de ton SI#1 ou SI#2, alors il te faut bien affecter null à dept de myBean.

    Je viens de tilter à la 200ème relecture ! il faut que je mette null et non sa valeur par défaut ???

  8. #8
    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
    En fait, si ta valeur vaut null, alors aucune valeur ne sera sélectionnée dans le combobox.
    C'est pour cela que je te proposais cette solution...
    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

  9. #9
    Invité
    Invité(e)
    Par défaut
    Je vais essayer de ré-écrire ma jsp et mon bean au propre d'un seul jet, peut-être que ça marchera mieux, car là ça a été écrit au fur et à mesure de mon apprentissage de JSF et du coup, il y a peut-être des effets de bord indésirables .

  10. #10
    Invité
    Invité(e)
    Par défaut
    En fait quand je rends disable ma section, "aucun" est écrit mais si on regarde le code, il n'est pas "checked", si bien que lorsque je choisis une faculté, c'est un peu comme s'il ne cherchait pas à lire la valeur que je lui ai donné (celle par défaut) mais qu'il recherchait dans le request précédent.

    Est-ce possible ?

  11. #11
    Invité
    Invité(e)
    Par défaut
    En essayant avec le null j'ai réfléchi un peu au but de mon formulaire et j'ai enlevé la partie disable et du coup ça fonctionne vraiment très bien.

    Merci pour tes réponses, ça m'a fait réfléchir, et j'ai fini par trouver la solution.



    Je mets résolu ou à délester ? J'ai pas l'impression que mon problème soit très enrichissant

  12. #12
    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
    Content que ce soit résolu.
    J'ai mis résolu pour toi
    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

  13. #13
    Invité
    Invité(e)
    Par défaut

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

Discussions similaires

  1. Affichage de plusieurs pie chart dans une page jsf
    Par élève_ingénieur dans le forum Flash
    Réponses: 0
    Dernier message: 05/10/2011, 19h34
  2. Réponses: 13
    Dernier message: 27/09/2011, 12h08

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