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 :

[JSF] progress Bar


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 73
    Par défaut [JSF] progress Bar
    Bonjour
    je fais un site en JSF et je voudrais faire afficher une barre de progression pendant les traitements qui sont longs.
    J'ai essayer tout simplement de faire afficher un .gif animé mais l'image ne s'affiche pas tant que le traitement n'est pas terminé... j'ai essayer aussi de charger une autre page qui contient l'image mais la page ne s'affiche pas tant que le traitement n'est pas teminé. Est-ce qu'il y a une autre solution que le multiThread?? car je pense que c'est tout ce qu'il me reste
    Merci

  2. #2
    Membre chevronné
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 274
    Par défaut
    Bonjour,

    plusieurs solutions possibles

    1 - taglib
    Le traitement doit être fait dans une JSP
    http://www.servletsuite.com/servlets/waittag.htm

    2 - AJAX
    Un lien sur les bluePrints (jsf progress bar)
    https://bpcatalog.dev.java.net/nonav/ajax/index.html

  3. #3
    Membre chevronné
    Inscrit en
    Août 2005
    Messages
    352
    Détails du profil
    Informations forums :
    Inscription : Août 2005
    Messages : 352

  4. #4
    Membre confirmé Avatar de seb55555
    Profil pro
    Inscrit en
    Août 2004
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 117
    Par défaut
    Tu as une solution très simple qui consisterait à mettre une gif de progress bar invisible au début. Et quand tu clique sur le bouton qui déclenche l'action, tu fais apparaitre la gif.

    Il y a en effet plein de solutions, plus ou moins complexe. Mais tout dépend du temps que tu peux passer sur cette fonctionnalité.
    La solution AJAX est classe mais c'est nettement plus pénible à mettre en place qu'une petite gif pour montrer que l'appli est en train de travailler. Du point de vue utilisateur la solution AJAX ne t'apportera rien à moins que le traitement dure effectivement plusieurs minutes et que l'utilisateur est besoin de voir en temps réel le niveau de progression de ce traitement.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 73
    Par défaut
    Merci beaucoup à tous, mais j'ai décider finallement d'y aller avec le multi thread, car la progress bar en jsf on avais déjà fait les tests, ensuite AJAX je n'ai pas le temps nécéssaire pour ca et l'idée du gif animé est très bien sauf que le prolème c'est que tant que le traitmenet n'est pas terminé, la page html ne se rafraichit pas donc le gif n'apparait qu'une fois le traitement fini.....
    J'ai donc ouvert une nouvelle page qui affiche le gif avec un nouveau thread et quand le traitement est teminé on revien à l'ancienne page. Ca donne pas mal le résultat escompté sauf sans donnée une idée du temps de traitement à l'usager.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 73
    Par défaut
    Mais ca m'intéresse de savoir comment utiliser une servlet pour ca...
    a tu des exemple de codes ou des explication moi pour??

    Merci

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 73
    Par défaut
    Citation Envoyé par seb55555
    Du point de vue utilisateur la solution AJAX ne t'apportera rien à moins que le traitement dure effectivement plusieurs minutes
    en fait, le traitement peut durer jusqu'à 2 heures.... je ne sais pas vraiment quelle serait la meileur solution pour faire comprendre à l'usager que le site n'est pas "planté" mais qu'il travaille.....

  8. #8
    Membre confirmé Avatar de seb55555
    Profil pro
    Inscrit en
    Août 2004
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 117
    Par défaut
    Citation Envoyé par kitiara999
    en fait, le traitement peut durer jusqu'à 2 heures....
    Ah oui, d'accord.
    Je m'avance peut être un peu, mais je doute qu'un utilisateur passe 2 heures à regarder avancer une progress bar. La solution serait peut être de rendre la main immédiatement à l'utilisateur sur le site (la tâche continuant de s'executer sur le serveur) et de l'informer à la fin du traitement par mail par exemple.

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 73
    Par défaut
    ouin c pas fou ca!!!

    étant donner que le traitement peut predre plusieurs heures, je ne veut pas que l'usager démarre un autre traitment simultanément car si un probleme surivient alors il va etre tres dificile de retracer le probleme et le corriger par la suite...

    alors la je sais vriament plus.....

  10. #10
    Membre confirmé Avatar de seb55555
    Profil pro
    Inscrit en
    Août 2004
    Messages
    117
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 117
    Par défaut
    Lui rendre la main ne signifie pas l'autoriser à relancer un autre traitement. Tu peux juste le diriger sur une page qui l'informe qu'il sera informer lorsque son traitement sera fini. Tu peux conserver une information t'indiquant que l'utilisateur X a un traitement en cours, s'il tente de se connecter à la page de lancement de traitement, il est redirigé vers une page lui indiquant qu'il a déjà un traitement en cours. C'est une idée mais il y en a bien d'autres.

  11. #11
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    73
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 73
    Par défaut
    oui c'est ce qui me semble le plus logique en effet

    Merci beaucoup!!

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

Discussions similaires

  1. progress bar en c++
    Par boulette&co dans le forum MFC
    Réponses: 1
    Dernier message: 23/05/2005, 08h26
  2. [ATL] Petite question sur les progress bar
    Par MrMaze dans le forum MFC
    Réponses: 1
    Dernier message: 06/05/2005, 09h40
  3. [MFC]Changer la couleur d'un progress bar
    Par Deedier dans le forum MFC
    Réponses: 1
    Dernier message: 21/04/2005, 18h39
  4. [VB.NET] Mise en place d'une progress bar
    Par Hoegaarden dans le forum Windows Forms
    Réponses: 14
    Dernier message: 19/10/2004, 09h23
  5. Progress bar au boot
    Par saibe dans le forum Administration système
    Réponses: 2
    Dernier message: 18/08/2003, 10h01

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