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

Servlets/JSP Java Discussion :

appeler un thread dans JSP


Sujet :

Servlets/JSP Java

  1. #1
    Candidat au Club
    Inscrit en
    Avril 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 5
    Points : 3
    Points
    3
    Par défaut appeler un thread dans JSP
    Bonjour
    Je voudrais ajouter une ligne a un tableau chaque 500milliseconde.
    Voila ce que j'ai fait:
    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
    <table border="1">
    <%
    long start = System.currentTimeMillis();
    // boucle tant que la durée de vie du Thread est < à 5 secondes
     while( System.currentTimeMillis() < start+ (1000 * 5) ) {
    // traitement
    %>           <tr>
                        <td>Nom</td>
                        <td>Prenom</td>
                      </tr>
    <%
    try {
            Thread.sleep(500);
          }
          catch (InterruptedException ex) {}
        }
    %>
    </table>
    Le probleme avec ça : il m'affiche tous les lignes apres l'expiration de la durée de vie du thread(Or je veux une ligne chaque 500Milliseconde).
    Merci d'avance

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Points : 431
    Points
    431
    Par défaut
    Aucune raison de faire ça en Java (tout ça se passe durant le chargement de ta page), la solution est a priori Javascript, par exemple en utilisant la propriété (non standard, mais supportée par tous les browsers il me semble) "innerHtml" pour ajouter des <tr> dynamiquement, ou alors (pour être standard) faut te pencher sur le DOM en JS, pas toujours bien supporté par IE je crois.

  3. #3
    Membre du Club
    Inscrit en
    Avril 2004
    Messages
    50
    Détails du profil
    Informations forums :
    Inscription : Avril 2004
    Messages : 50
    Points : 58
    Points
    58
    Par défaut
    Je me demande bien quel est le besoin à l'origine de cette demande

  4. #4
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Points : 431
    Points
    431
    Par défaut
    Je me suis même pas demandé, mais c'est vrai qu'on peut se poser la question...

  5. #5
    Candidat au Club
    Inscrit en
    Avril 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    En fait voila ce ke je veux faire :
    s'il ya une nouvelle insertion dans la base de donnée alors ma page jsp(qui contient un tableau) se recharge pour ajouter une nouvelle ligne dans le tableau contenant les données que sont ajouter a la BD.
    Voila ce ki me bloque : comment recharger une page dynamiquement pour ajouter une nouvelle ligne au tableau??????
    Si vous avez des idée nésité pas
    Merci

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Points : 431
    Points
    431
    Par défaut
    Ben, au plus simple, tu recharges toutes les n secondes ta page (faisable avec une simple balise META), et la ligne s'ajoutera d'elle même à la reconstruction de la page.

    En un peu mieux, tu te sers d'Ajax pour checker les modifs en base et savoir quand il faut recharger, voire pour ajouter dynamiquement cette ligne (mais en javascript, du coup, donc c'est plus lourd et moins propre), tout dépend des impératifs fonctionnels de ce que tu veux faire. Ces ajouts en base se feront a priori tous les combien ? S'ils sont très fréquents la dernière solution Ajax semble être la bonne.

  7. #7
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    Deux options :
    - rafraîchir ta page toutes les 500 ms, via le meta attribut html qui va bien, ou le code javascript. Le rafraîchissement devra relancer ton action sur le serveur qui construit ta page.
    - utiliser une requête AJAX pour récupérer les nouvelles données et faire le traitement adéquat pour actualiser ta page.

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Points : 431
    Points
    431
    Par défaut
    Comme tu peux le voir, nous sommes d'accord.

  9. #9
    Expert confirmé
    Profil pro
    Inscrit en
    Août 2006
    Messages
    3 274
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 3 274
    Points : 4 141
    Points
    4 141
    Par défaut
    Effectivement, et bien synchros

  10. #10
    Candidat au Club
    Inscrit en
    Avril 2009
    Messages
    5
    Détails du profil
    Informations forums :
    Inscription : Avril 2009
    Messages : 5
    Points : 3
    Points
    3
    Par défaut
    je pense que je vais utiliser la solution ajax puisque les ajouts se fait d'une maniere aléatoire
    Merci a vous deux et

  11. #11
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Points : 431
    Points
    431
    Par défaut
    Bon courage...

  12. #12
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 311
    Points : 9 524
    Points
    9 524
    Billets dans le blog
    1
    Par défaut
    Il y avait une autre solution qui mixe un peu

    Tu peux mettre une <iframe> dans ta page à l'endroit du tableau et utiliser une meta refresh pour rafraichir cette partie uniquement.

    (l'ancêtre d'AJAX)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  13. #13
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Points : 431
    Points
    431
    Par défaut
    C'est une horreur, mais je ne peux me vanter de ne l'avoir jamais fait.

    Nan mais, quitte à s'emmerder, autant mettre de l'Ajax, c'est quand même plus approprié.

  14. #14
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 311
    Points : 9 524
    Points
    9 524
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par mixouille Voir le message
    C'est une horreur, mais je ne peux me vanter de ne l'avoir jamais fait.

    Nan mais, quitte à s'emmerder, autant mettre de l'Ajax, c'est quand même plus approprié.
    C'est un point de vue...

    Ceci dit, c'est nettement plus simple à mettre en œuvre quand on génère du code html à afficher...

    La solution la plus "dans l'air du temps" est bien sûr AJAX mais du coup, c'est du code javascript qui construit l'affichage via DOM (luxe) ou innerHTML (incertain)

    PS : je dis "incertain" parce qu'avec IE, on peut avoir des surprises et une belle "Erreur inconnue", c'est du vécu
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  15. #15
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Points : 431
    Points
    431
    Par défaut
    Si tu vas par là, les iFrame n'ont rien de standard, donc peuvent réserver des surprises à l'avenir.

    Mais en effet, ta solution a le gros avantage de ne pas impliquer de javascript.

    Et quelques inconvénients aussi, notamment l'affichage un peu différé de la table par rapport à la page, et les rechargements pas très beaux. Après, tout dépend de qui utilisera l'application.
    Et aussi qu'une iframe a une hauteur fixe il me semble, pas terrible pour une table ayant un nombre de lignes variable (doubles-ascenseurs, beurk!).

  16. #16
    Modérateur
    Avatar de OButterlin
    Homme Profil pro
    Inscrit en
    Novembre 2006
    Messages
    7 311
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 311
    Points : 9 524
    Points
    9 524
    Billets dans le blog
    1
    Par défaut
    Oui, c'est vrai, mais ça représentait une alternative facile à mettre en œuvre...
    (et l'avenir est incertain, alors qu'au présent, innerHTML peut poser problème et que le modèle DOM est un peu plus difficile à faire)

    Je dirais que tout dépend :

    - de la complexité des informations à afficher
    - des contraintes ergonomiques
    - du niveau de connaissance du développeur
    - et peut-être d'autres...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  17. #17
    Membre averti
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    376
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Juillet 2006
    Messages : 376
    Points : 431
    Points
    431
    Par défaut
    Ben, un peu de DOM n'a jamais fait de mal à personne, il suffit d'être un peu rigoureux et de ne pas avoir peur des lignes de code...

Discussions similaires

  1. Appeler un script dans jsp
    Par stof dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 30/07/2008, 14h54
  2. Appeler un script dans jsp
    Par stof dans le forum Servlets/JSP
    Réponses: 11
    Dernier message: 30/07/2008, 11h04
  3. Réponses: 3
    Dernier message: 08/11/2006, 17h56
  4. appel système opendir dans thread
    Par madimane dans le forum POSIX
    Réponses: 2
    Dernier message: 14/04/2006, 05h39
  5. Appel de fonction dans une page JSP
    Par Addouna dans le forum Servlets/JSP
    Réponses: 6
    Dernier message: 09/03/2006, 12h56

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