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 et valueChangeListener (mise a jour de la page)


Sujet :

JSF Java

  1. #1
    Membre éclairé
    Inscrit en
    Mars 2005
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 226
    Par défaut liste et valueChangeListener (mise a jour de la page)
    Bonjour,

    J'ai une question concernant l'attribut valueChangeListener a l'intérieur d'une balise h:selectOneMenu. Dans plusieurs de mes pages, je posséde une liste et suivant la valeur de cette liste le reste de la page est mise a jour. Lorsque j'accède à ma page (associée à un bean request) la valeur par défaut est attribuée à la liste et le contenu de la page correspont bien à se qui est associée à cette valeur. Si je choisi un autre élément de la liste alors la valeur de la liste est bien mise à jour et également le reste du contenu. Si ensuite je sélectionne à nouveau la première valeur (celle par defaut) alors la liste affiche cette valeur mais le reste de la page n'est pas mis à jour.

    Je n'arrive pas a comprendre pourquoi. Je pensais à une erreur dans mon code mais se phénome est présent dans toutes les listes.

    voici un exemple de déclaration de liste :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <h:selectOneMenu valueChangeListener="#{CreateApplicatifs.applicationValueChange}" 
                                    onchange="submit();" value="#{CreateApplicatifs.applicationId}">
                                        <f:selectItems value="#{CreateApplicatifs.applications}"/>
                                    </h:selectOneMenu>
    voici ma fonction appelée lorsque la valeur change :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    public void applicationValueChange(final ValueChangeEvent event) {
            setApplicationId((Long) event.getNewValue());
            getSessionBean().logUserAction("new value: " + event.getNewValue());
            loadParametersList();
        }
    voici mon constructeur:
    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
     
    public CreateApplicatifs() throws NamingException {
            loadApplicationsOptions();
            loadParametersList();
        }
     
    @SuppressWarnings("unchecked")
        private void loadApplicationsOptions() {
            this.applications.clear();
            final Long acceptorId = getSessionBean().getAcceptorId();
            final List<TransactionalRoute> routes; // liste des routes
     
            for (final TransactionalRoute route : routes) {
                  this.applications.add(new SelectItem(route.getId(), route.getLabel()));
            }
        }
     
    @SuppressWarnings("unchecked")
        private void loadParametersList() {
            ParameterSetTemplate template;
            if (null != getCurrentRoute()) {
                template = getCurrentRoute().getApplicationProcessor().getApplicativeParameterTemplate();
            }
            parametersUtils.prepareGridWithParameterValues(gridParametersType);
        }
    Merci pour votre aide

  2. #2
    Membre éclairé
    Inscrit en
    Mars 2005
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 226
    Par défaut
    Pour régler le problème il faut mettre le bean en scope session. ensuite à l'activation du lien ou bouton qui permet d'accéder à la page penser à réinitialiser la valeur selectée dans la liste pour permettre en affichage correcte de la page. Si la valeur par défaut de la liste n'est pas importanrte alors vous pouvez ne pas implémenter cette initialisation et dans se cas la valeur de la liste sera la derrière sélectionnée.

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

Discussions similaires

  1. Mise a jour de la page
    Par tetedeturcq dans le forum ASP.NET
    Réponses: 6
    Dernier message: 30/04/2007, 16h58
  2. Action et mise a jour de la pages
    Par aityahia dans le forum Balisage (X)HTML et validation W3C
    Réponses: 4
    Dernier message: 11/10/2006, 10h27
  3. Réponses: 7
    Dernier message: 06/10/2006, 09h05
  4. Liste deroulante et mise a jour
    Par shub dans le forum IHM
    Réponses: 7
    Dernier message: 19/04/2006, 11h25

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