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 :

Rafraichir un élément d'une page


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mars 2005
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 226
    Par défaut Rafraichir un élément d'une page
    Bonjour,

    J'ai un page JSP qui contient une liste. L'utilisateur sélectionne les éléments de la liste qu'il veux que je traite est clique sur un bouton. L'action sur le bouton va provoquer le traitement des données sélectionées qui une fois traitées n'apparaiteront plus dans la liste.

    Je souhaiterai savoir s'il est possible de faire un refresh de ma liste toutes les 5 secondes afin que l'utilisateur vois au fur et a mesure les élements traités disparaitre de la liste. Je ne veux pas rafraichir ma page compléte juste la liste. Est ce possible?

    Merci pour votre aide.

  2. #2
    Membre éclairé Avatar de mLk92
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    527
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 527
    Par défaut
    tu n'a pas besoin de rafraichir la liste toutes les 5 secondes, sur ton bouton rajoute une action.

    Fais nous voir le code de ton bouton.

    En gros moi je fais comme ceci (c'est du icefaces mais le principe est le même)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <ice:commandButton type="button" style="margin:10px"
    			image="/vues/images/son_profil/navig_h_ok2.gif"
    			action="#{amisBean.initializeFriendList}"
    			actionListener="#{profil.addFriendPopup}" />
    Cette action :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    actionListener="#{profil.addFriendPopup}"
    Cela appel une méthode déclarer comme ceci dans ton bean :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public void addFriendPopup(ActionEvent event){
     /* Ton traitement */
    }
    Puis cette action :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    action="#{amisBean.initializeFriendList}"
    Elle appelera cette méthode :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
     public void initializeFriendList(){
            helper.loadAmis();
        }
    En gros tu as l'actionListener pour ton traitement puis l'action pour effectuer le rafraichissement de ta liste.

    Sinon tu appel la méthode qui initialise ta liste à la fin de ton traitement...

  3. #3
    Membre éclairé
    Inscrit en
    Mars 2005
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 226
    Par défaut
    voici le code de mon bouton dans la JSP :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    <h:selectManyListbox id="listSynchronization" styleClass="bigListbox" value="#{Synchronization.toSynchronizeSelected}">
                                            <f:selectItems value="#{Synchronization.toSynchronize}"/>
                                        </h:selectManyListbox>
     
    <h:commandButton type="submit" action="#{Synchronization.applySelectedChangesAction}" id="applySelectedChanges"
                                                 value="#{bundle.apply}" styleClass="default_button"/>
    Dans mon bean, la methode getTosynchronize créé la liste des élements
    la méthode getToSynchronizeSelected retourne les élements selectionnés.

    Le problème c'est que lorsque je clique le bouton, le code va créer un job pour un scheduleur ensuite le scheduleur fait le traitement je n'ai donc aucune idée du temps qu'il prend et de ce qu'il fait. Faire un refresh toutes les X secondes permet à l'utilisateur de voir la liste diminuer au fur et a mesure, car le getTosynchronize va recréer la liste avec les élements non traités ou pas encore traités par le schéduleur.

  4. #4
    Membre très actif Avatar de hazamor
    Homme Profil pro
    Développeur Web
    Inscrit en
    Décembre 2008
    Messages
    179
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40

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

    Informations forums :
    Inscription : Décembre 2008
    Messages : 179
    Par défaut
    je croix simplement que à la fin de la méthode Synchronization.applySelectedChangesAction tu dois appeler une autre fonction qui rafraichie la liste:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    public  applySelectedChangesAction()
    {
    ...
    this.maListe= refraicheList();
    }

  5. #5
    Membre éclairé Avatar de mLk92
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    527
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 527
    Par défaut
    c'est ce que je pensais aussi hazamor mais apparemment il doit rafraichir la liste pendant le traitement du fait qu'il ne connait pas le temps du traitement.

    Peut tu savoir quand un élément est supprimé ? Si oui, à ce moment précis (c'est à dire après chaque suppression), tu rafraichis ta liste

  6. #6
    Membre éclairé
    Inscrit en
    Mars 2005
    Messages
    226
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 226
    Par défaut
    Chaque element possede un status dans ma base de données. Les elements affichés ont le status ADDED, les elements traités ont le status ALIVE. Ma methode getToSynchronize selectionne tout les elements au status ADDED.

    C'est pour cela que je dois trouver la façon de rafraichir ma liste afin de refaire une requete à la base de données.

Discussions similaires

  1. Connaitre tout les éléments d'une page html
    Par flo_k dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 14/04/2007, 14h18
  2. Comment tester si tous les éléments d'une page ont été chargés ?
    Par Gat- dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 15/02/2007, 13h19
  3. Connaître les éléments d'une page qui VA être affichée
    Par NikoBe dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 09/11/2006, 14h57
  4. déplacement d'éléments dans une page
    Par lieto dans le forum Balisage (X)HTML et validation W3C
    Réponses: 14
    Dernier message: 08/06/2006, 12h02

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