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 :

Afficher dynamiquement une variable en jsp?


Sujet :

Servlets/JSP Java

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 15
    Points : 10
    Points
    10
    Par défaut Afficher dynamiquement une variable en jsp?
    Bonjour
    J'ai développé une classe java qui renvoie, par l'intermédiaire d'une méthode, une chaine de caractères.
    Cette String représente une valeur de température donnée par un capteur à chaque variation.
    J'aimerais que cette température puisse être affichée dans une page HTML jsp et raffraichie automatiquement à chaque variation. Comment dois-je procéder?
    Merci.

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    http étant un protocole déconnecté, il va falloir passer par une requête à intervalle régulier.
    Utilise <meta http-equiv="refresh" content="x"> (dans l’en-tête de la page) pour re-soumettre la page toutes les ‘x’ secondes

    Au niveau de la page, tu peux récupérer la valeur par

    <%
    TonObjet obj = new TonObjet() ;
    out.getMaValeur() ;
    %>

    Quelque chose comme ça…



    Ce serait beaucoup mieux en utilisant ajax, mais bon, ce n'est peut-être pas à l'ordre du jour pour toi...

    A+

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 15
    Points : 10
    Points
    10
    Par défaut
    Très bien. Mais avec cette méthode toute la page est rafraîchie? J'aurais voulu ne rafraîchir que la valeur de la température et pas à des intervalles réguliers mais dès que la valeur change?

    Je ne connais pas AJAX, en quoi cela pourrait-il être intéressant? Connais-tu de bons tuto?

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 313
    Points : 9 529
    Points
    9 529
    Billets dans le blog
    1
    Par défaut
    L'Ajax te permet justement de ne pas recharger la page entière mais un bout... (via document.getElementById('laCible').innerHTML par exemple)

    Pour le tuto, ceci devrait aller...
    http://developer.mozilla.org/fr/docs/AJAXremiers_pas

    Dans tous les cas, http est déconnecté, et comme c'est une classe java qui fait le traitement (donc coté serveur), tu es bien obligé de "sonder" à intervalle régulier pour voir si la valeur a changé.

  5. #5
    Membre habitué
    Inscrit en
    Mars 2005
    Messages
    237
    Détails du profil
    Informations forums :
    Inscription : Mars 2005
    Messages : 237
    Points : 181
    Points
    181
    Par défaut
    dans ce cas, ajax est vraimentce qu'il te faut.

    regarde dans les forums sur la fonction javascript http_request.

    cependant, il faut déclencher l'action. soit tu lances la fonction http_request toutes les n secondes mais tu risques de faire des requêtes pour rien.

    la température donné par un capteur ==> comment est-elle stockée ? dans une base de données ? si oui il faudrait qu'un trigger sur la table appelle le rafraichissement...mais je ne vois pas trop comment faire.

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Avril 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2007
    Messages : 15
    Points : 10
    Points
    10
    Par défaut
    En fait, l'application servira pour un outil de supervision domotique à distance. La température n'est pas la seule variable que je récupère. Il y a aussi, l'état des éclairages, du chauffage etc...
    Donc lorsque que, par exemple dans la maison, quelqu'un allume une lampe, sur la supervision cela doit apparaître immédiatement.
    On ne peut pas utiliser un eventListener sur un objet ou un truc dans le genre? du style :
    <script FOR="ma_class java" EVENT="T = class_RetourEtatTemperature" LANGUAGE="JScript">...

  7. #7
    Membre chevronné
    Homme Profil pro
    Directeur technique
    Inscrit en
    Janvier 2007
    Messages
    1 348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 1 348
    Points : 1 787
    Points
    1 787
    Par défaut
    Non, la seule solution que tu as est effectivement un Timer.
    Quand la température change (ou autre), seul ton serveur peut être au courant, et le serveur ne peut pas "envoyer" la page au client, il faut que ce soit le client qui demande des choses (ce qu'on voulait te dire en parlant de mode déconnecté).

    Sinon, oui Ajax est la bonne solution pour ne refraîchir que ce qui t'intéresse ...

Discussions similaires

  1. Réponses: 4
    Dernier message: 30/10/2008, 00h55
  2. [Tableaux] Accès dynamique à une variable
    Par johnben2 dans le forum Langage
    Réponses: 6
    Dernier message: 17/07/2007, 11h46
  3. [MySQL] Afficher dynamiquement une liste deroulante
    Par kcelie dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 13/07/2007, 18h53
  4. Réponses: 4
    Dernier message: 10/03/2007, 02h29
  5. Récupération d'une variable en jsp
    Par ALIAS200 dans le forum Servlets/JSP
    Réponses: 7
    Dernier message: 11/09/2006, 13h39

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