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 :

Servlet + AJAX : passer des paramètres


Sujet :

Servlets/JSP Java

  1. #1
    Membre chevronné Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 232
    Points : 1 897
    Points
    1 897
    Par défaut Servlet + AJAX : passer des paramètres
    Bonjour,

    J'ai une appli J2EE :

    Dans le navigateur utilise AJAX (javascript) pour envoyer des données à la Servlet. Ensuite la Servlet répond au javascript qui affiche les nouvelles données.

    Mais ma page web contient de nombreuses valeurs que je transmets (via AJAX) à la Servlet : et chaque paramètre envoyé et récupéré comme cela :

    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
     
     
    function getParametres()
    {
    var param = '';
        var strId = 'id0';
        param = param + id + '=' + document.getElementById(strId).value + '&';
        var strId = 'id10';
        param = param + id + '=' + document.getElementById(strId).value + '&';
        var strId = 'id80';
        param = param + id + '=' + document.getElementById(strId).value + '&';
     
    etc pour tout les paramètres nombreux...
    return param;
    }
    Avec l'appel :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    var lien = 'http://127.0.0.1:8080/monappli/ServletAppli?action=calcul&' + getParametres();
     
    xhr.open("post", lien, true);
    Comment passer ces paramètres en bloc comme dans un request.setAttribute() ou bien comme les paramètres d'un formulaire ?

    A+
    La connaissance ne sert que si elle est partagée.
    http://ms2i.net

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Juillet 2005
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 30
    Points : 24
    Points
    24
    Par défaut
    Bonjour,

    je ne sais pas si j'ai bien tout compris mais je t'envois une solution qui pourra peut etre t'aider:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    var lien = 'http://127.0.0.1:8080/monappli/ServletAppli';
    var params ='action=calcul&'+ getParametres();
    xhr.open("post", lien, true);
    xhr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xhr.setRequestHeader("Content-length", params.length);
    xhr.onreadystatechange = function(){
    	if(xhr.readyState == 4 && xhr.status == 200){				
                      alert(xhr.responseText;);
             }
    }
    xhr.send(params);
    bon courage

  3. #3
    Membre chevronné Avatar de Mister Nono
    Homme Profil pro
    Ingénieur Mathématiques et Informatique
    Inscrit en
    Septembre 2002
    Messages
    2 232
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur Mathématiques et Informatique
    Secteur : Santé

    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 232
    Points : 1 897
    Points
    1 897
    Par défaut
    Merci pour ta réponse marieM, mais ce n'était pas ce que je désirais faire.

    En fait, dans la JSP, je définie un tableau dans une SCRIPLET, ce tableau étant généré dynamiquement à partir d'une structure de données existente et utilisée par une SERVLET.

    Ensuite ce tableau est récupéré dans un script JAVASCRIPT qui parcours celui-ci pour extraire la valeur des id des objets du formulaire HTML, et donc envoyer les valeurs des paramètres du formulaire au serveur via AJAX.

    Et la boucle est bouclée, et surtout les structures de données du serveur sont exactement les mêmes pour les clients web : c'est ce que je voulais réaliser.
    La connaissance ne sert que si elle est partagée.
    http://ms2i.net

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

    Informations forums :
    Inscription : Novembre 2006
    Messages : 7 310
    Points : 9 522
    Points
    9 522
    Billets dans le blog
    1
    Par défaut
    Je ne suis pas certain d'avoir compris ta question.
    Dans ta façon de procéder, tu es limité à la longueur max d'une url (ce qui peut poser problème)

    Si tu cherches une méthode pour envoyer les paramètres comme un formulaire, avec la "POST", voici comment faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    var req = "/tonControleurServlet";
    var parametres = "action=calcul&" + getParametres();
     
    xmlHttpRequest.open("POST", req, true);
    xmlHttpRequest.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    xmlHttpRequest.send(parametres);
    xmlHttpRequest.onreadystatechange = ...
    A+
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 29/07/2009, 16h39
  2. Passer des paramètres dans $.ajax
    Par Thewil dans le forum jQuery
    Réponses: 4
    Dernier message: 18/06/2009, 09h46
  3. [Débutant][C#]Passer des paramètres à un exe
    Par GéniuS77 dans le forum Windows Forms
    Réponses: 13
    Dernier message: 05/07/2005, 16h55
  4. Réponses: 7
    Dernier message: 30/12/2004, 12h01
  5. passer des paramétres à un fichier sql
    Par vbcasimir dans le forum Oracle
    Réponses: 2
    Dernier message: 21/12/2004, 18h08

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