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 :

Retourner dans un JSP avec AJAX


Sujet :

Servlets/JSP Java

  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2005
    Messages : 139
    Points : 74
    Points
    74
    Par défaut Retourner dans un JSP avec AJAX
    Bonjour à tous,

    J'ai vérifié quelques POSTs ici mais aucun n'est vraiment attribuable à mon cas. Je débute en intégration de AJAX, alors je connais pas tous les petits trucs

    J'ai un JSP qui contient des liens cliquables. Ces liens correspondent à des informations distinctes. Lorsque je clic sur un des liens, ceci envoie une requête en AJAX qui appelle une commande.java qui elle s'occupe de récupèrer toutes les informations concernant le lien cliqué.

    Ma première optique a été la suivante et qui me renvoyait ce que je désirait :

    Grâce au TemplateVelocity je générais un fichier .VM contenant mes informations. Cependant, dans mes informations affichées, j'ai des "checkbox" qui n'étaient pas récupérables puisque mes sources de mon JSP ne présentait pas le code généré (.VM).

    J'ai donc décidé de m'orienté vers une autre solution :

    Voici mon code pour le traitement en AJAX (ce traitement est appelé à la fonction onClick du lien)

    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
    if (document.getElementById("info" + id).style.display=='none'){
     
    document.getElementById("info" + id).style.display = 'block';
    document["imginfo" + id].src= "../images/afficherMoins.GIF"; 
     
    document.getElementById("info" + id).innerHTML="<br /><div class='texte fs12 gras txt_std' style='text-align: center;'>Chargement en cours...</div><br />"
     
    var xhr = createXHR();
     
    xhr.onreadystatechange  = function()
    { 
      if(xhr.readyState  == 4)
      {
        if(xhr.status  == 200) {
          document.getElementById("info" + id).innerHTML= xhr.responseText;  
        }
        else
          document.getElementById("info" + id).innerHTML= xhr.status;
        }
      }
    } 
     
    xhr.open("POST", "../chargerDynamiquementInfo?info=" + id, true);
    xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");                  
    xhr.send(null);

    Après avoir charger les informations je retourne rien dans mon xhr.responseText... je veux seulement qui reload mon JSP avec mes données qu'il récupère dans ma TransactionBean (les données que j'ai mis dans la bean dans ma commande de chargement dynamique).

    Si je renvoit une forme de texte par exemple le nom de mon JSP dans le xhr.responseText bien il me l'écrit en String dans ma page...(<div>"information.jsp"</div>) il y a t-il un moyen que je puisse recaller mon JSP suite à cette action appelée?!

    J'espère avoir été clair dans mes explications

  2. #2
    Membre régulier
    Profil pro
    Inscrit en
    Janvier 2005
    Messages
    139
    Détails du profil
    Informations personnelles :
    Localisation : Canada

    Informations forums :
    Inscription : Janvier 2005
    Messages : 139
    Points : 74
    Points
    74
    Par défaut
    Finalement je suis revenu à la première optique de la génération par mon TemplateVelocity.

    La raison que je ne voyais pas mes données dans mon JSP c'est que les données renvoyées par le système de AJAX sont gardés en mémoire du browser, il ne sont donc pas consultable en affichant la source de ma page mais je peux effectivement récupérer mes données...

    En plus de mon checkbox, j'ai aussi un bouton de visualisation de formulaires concernant les informations récupérées.

    Maintenant mon problème est le suivant et qui est "normal", quand je clic sur mon bouton de visu. ma page est reloadé et donc mon formulaire affiche mais mes données retournées de AJAX sont perdues.

    2 options s'offrent à moi :

    - Soit que je trouve un autre endroit pour présenter ces formulaires
    - Soit je reprends mes données située dans ma TransactionBean et je reload mon TemplateVelocity.

    Je crois tout de même que la 2e solution sera viable même en perdant un peu de performance...

    Toutes les solutions seraient utiles d'être entendues mais j'estime quand même avoir réglé ce pourquoi j'ai posté ce thread.

    J'espère avoir aidé quelques uns d'entre vous en me répondant tout seul !

    Bon courage à tous !

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

Discussions similaires

  1. Réponses: 1
    Dernier message: 30/07/2014, 14h54
  2. Insérer une page JSP dans un DIV avec AJAX
    Par sethi dans le forum Servlets/JSP
    Réponses: 4
    Dernier message: 31/03/2010, 22h04
  3. [AJAX] ouvrir une page dans une autre avec ajax
    Par msiham05 dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 28/03/2007, 12h27
  4. [AJAX] Retour chariot dans un textarea avec AJAX
    Par Death83 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 18/09/2006, 23h32
  5. navigation dans une jsp avec javascript
    Par petitelulu dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 15/11/2004, 19h55

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