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 :

[ JSP ] [ JAVASCRIPT ] Passage paramètre tableau


Sujet :

Servlets/JSP Java

  1. #1
    Membre habitué Avatar de bouchette63
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 257
    Points : 187
    Points
    187
    Par défaut [ JSP ] [ JAVASCRIPT ] Passage paramètre tableau
    Bonjour,

    J'ai un petit souci pour passer un paramètre à ma fonction Javascript, c'est pourquoi je sollicite votre aide.

    Dans ma page JSP, j'ai un select qui appelle une fonction javascript en lui passant trois paramètres : sa valeur sélectionné, le nom d'une autre liste déroulante et un tableau.

    Le problème c'est que je ne sais pas si c'est comme cela que l'on fait pour envoyer le tableau à la fonction Javascript, car je n'arrive pas à l'utiliser.
    Une autre interrogation, c'est comment récupérer la taille de la deuxième dimension du tableau : cle[list1.options.selectedIndex].length ?

    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
    Dans ma JSP : 
    
    <logic:present name="listetype">
    <bean:define id="laCles" name="listetype" type="String[][]" scope="request"/>
    ....
        <select size="1" name="type" class="data" style="width:240px" 
    onchange="javascipt:ChangerTypeDroit(this , this.form.liste, this.form.laCles)">
    ...
    	
    Dans mon javascript :
    
    function ChangerTypeDroit(list1, list2, cle) {
    
    }
    Merci pour vos réponses.
    "Tout m'afflige, et me nuit, et conspire à me nuire" Racine

  2. #2
    Membre confirmé Avatar de supermanu
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    330
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 330
    Points : 452
    Points
    452
    Par défaut
    D'après ton code, tu essaies d'utiliser un objet java dans ton code javascript ?
    Mais malheureusement ce n'est pas possible.
    Si tu as besoins d'un tableau javascript, tu dois le construire avec des out.println()...
    Dis mois si je n'ai pas compris ton problème !
    Pensez au tag
    Mon blog Tutoriels et Astuces en Java : http://emmanuelpierre.free.fr/blog/index.php?

  3. #3
    Membre habitué Avatar de bouchette63
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 257
    Points : 187
    Points
    187
    Par défaut
    Oui, j'ai un tableau en Java défini en String[][], et je souhaite le faire passer en paramètre à ma fonction Javascript pour l'utiliser dans cette dernière.
    Mais si tu me dis que ce n'est pas possible, comment faire ? C'est quoi la méthode des out.println ?
    "Tout m'afflige, et me nuit, et conspire à me nuire" Racine

  4. #4
    Membre confirmé Avatar de supermanu
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    330
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 330
    Points : 452
    Points
    452
    Par défaut
    Je pense que tu peux créer une variable javascript qui sera aussi un tableau, à partir de ton bean java :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <script language="JavaScript" type="text/javascript">
    	<!--
    	var maxcaracteres = 
    	<%						
    int nbMax = monpackage.MAX_MESSAGE_SIZE - monpackage.MAX_URL_SIZE;
    out.println(nbMax+";");
    	%>
    Dans cet exemple, j'ai créé une variable javascript "maxcaracteres" à partir de 2 variables java. Et je peux alors utiliser cette variable javascript dans une fonction javascript.
    Je vais regarder pour la synthaxe du tableau en javascript

    Edit : à l'affichage j'aurais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <script language="JavaScript" type="text/javascript">
    	<!--
    	var maxcaracteres = 160;
    Pensez au tag
    Mon blog Tutoriels et Astuces en Java : http://emmanuelpierre.free.fr/blog/index.php?

  5. #5
    Membre habitué Avatar de bouchette63
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 257
    Points : 187
    Points
    187
    Par défaut
    Oula ce n'est pas simple du tout.
    Je ne vois pas trop comment adapter ceci pour mon tableau. Qu'est-ce que représente monpackage ?
    "Tout m'afflige, et me nuit, et conspire à me nuire" Racine

  6. #6
    Membre confirmé Avatar de supermanu
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    330
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 330
    Points : 452
    Points
    452
    Par défaut
    Je mettais juste un exemple pour te montrer comment "créer" une variable javascript à partir d'objets ou de variables java.

    Je suis en train de regarder pour les tableaux en javascript, mais pour le moment je ne trouve pas ce que je cherche.

    2 petites questions :
    - à quoi ressemble ton tableau java
    - as-tu déjà écris la fonction javascript qui traite ce tableau ?
    (c'est pour savoir ce que tu veux en faire )
    Pensez au tag
    Mon blog Tutoriels et Astuces en Java : http://emmanuelpierre.free.fr/blog/index.php?

  7. #7
    Membre habitué Avatar de bouchette63
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 257
    Points : 187
    Points
    187
    Par défaut
    Ok, un petit exemple, mon tableau Java ressemble à ça :

    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
     
    laCles[n] -> définit le type d'entité
    laCles[n][m] -> stocke les différents noms pour les types d'entités
     
    ex : 0 -> type GROUPE
         1 -> type ETABLISSEMENT
         2 -> type UNITE
     
    // Représente les différents noms pour le type GROUPE
    laCles[0][0] -> nom CHALUMEAU
    laCles[0][1] -> nom DIRECTION
       ...
     
    // Représente les différents noms pour le type ETABLISSEMENT
    laCles[1][0] -> nom MIREILLE
    laCles[1][1] -> nom CHALUS
       ...
    Ensuite en ce qui concerne ma fonction Javascript, je vide simplement une liste dérourante.
    En fait, à partir d'une autre liste déroulante, je choisis mon TYPE, et en fonction du choix, j'affiche dans une nouvelle liste déroulante, la liste des NOMS pour ce type. C'est justement dans cette fonction Javascript où je vide la liste des noms que je dois ensuite remplir par les nouveaux noms concernés par le type choisi.
    "Tout m'afflige, et me nuit, et conspire à me nuire" Racine

  8. #8
    Membre confirmé Avatar de supermanu
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    330
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 330
    Points : 452
    Points
    452
    Par défaut
    donc au final, il serait bon d'avoir un tableau javascript qui ressemble à :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    var laCles = new Array();
    laCles[0] = new Array();
    laCles[0][0] = "CHALUMEAU";
    laCles[0][1] = "DIRECTION";
     
    laCles[1] = new Array();
    laCles[1][0] ="MIREILLE";
    laCles[1][1] = "CHALUS";
    ...
    on a bien un tableau multidimensionnel en javascript que tu pourra utiliser après.
    Reste plus qu'à le construire à partir de ton bean java qui doit se trouver dans request non ?

    Donc ton code final devrait ressembler à ça :
    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
     
    <script language="JavaScript" type="text/javascript">
    	<!--
    	var laCles = new Array(); 
     
     
    	<%	
    	//on recupère le bean
    	java.lang.String[][] monBean = request.getParameter("listetype");
     
    	//on 2 boucles imbriquées
    	for(int i=0 ; i < monBean.length ; i++) {
    		out.println("laCles["+i+"] = new Array();");
    		for(int j=0; j < monBean[i].length ; j++) {
    			out.println("laCles["+i+"] = \""+monBean[i][j]+"\";);
    		}
    	}
     
    	%>
    Si je n'ai pas fait de faute de synthaxe ... lorsque tu regarde le code source généré, tu auras ce que j'ai mis au début du message...
    Pensez au tag
    Mon blog Tutoriels et Astuces en Java : http://emmanuelpierre.free.fr/blog/index.php?

  9. #9
    Membre habitué Avatar de bouchette63
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 257
    Points : 187
    Points
    187
    Par défaut
    Effectivement j'ai testé ton code, et la création de mon Array fonctionne, merci à toi.

    Mais j'ai une question, je sais je suis nul en Javascript, comment on fait passer notre nouveau paramètre Array à la fonction javascript, enfin c'est quoi la syntaxte dans l'appel : javascript:ChangerTypeDroit(this , this.form.liste, this.form.laCles) ?
    "Tout m'afflige, et me nuit, et conspire à me nuire" Racine

  10. #10
    Membre confirmé Avatar de supermanu
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    330
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 330
    Points : 452
    Points
    452
    Par défaut
    De rien, je suis surpris que ça marche tu premir coup

    Tu n'as pas besoins du troisième argument dans ta fonction.
    Tu peux utiliser la variable "laCles" quand tu veux, étant donné que c'est une variable globale qui peut être utilisée dans toutes tes fonctions javascript.
    Pensez au tag
    Mon blog Tutoriels et Astuces en Java : http://emmanuelpierre.free.fr/blog/index.php?

  11. #11
    Membre habitué Avatar de bouchette63
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    257
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2006
    Messages : 257
    Points : 187
    Points
    187
    Par défaut
    Merci, je vais travailler tout ça, sinon j'ai corrigé deux petites erreurs dans ton code.
    "Tout m'afflige, et me nuit, et conspire à me nuire" Racine

  12. #12
    Membre confirmé Avatar de supermanu
    Profil pro
    Inscrit en
    Janvier 2004
    Messages
    330
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Janvier 2004
    Messages : 330
    Points : 452
    Points
    452
    Par défaut
    eh eh j'me disais aussi.. c'était pas normal !
    bon courage pour la suite
    Pensez au tag
    Mon blog Tutoriels et Astuces en Java : http://emmanuelpierre.free.fr/blog/index.php?

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

Discussions similaires

  1. JSP / JAVASCRIPT passage de parametres
    Par sas1986 dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 14/07/2011, 01h53
  2. [ Struts ] [ Jsp ] [ Javascript ] Passage paramètre
    Par bouchette63 dans le forum Struts 1
    Réponses: 7
    Dernier message: 23/05/2006, 14h04
  3. Passage d'un tableau javascript en paramètres d'une URL
    Par seblo_scoqi dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 02/09/2005, 10h46
  4. [JSP] Problème passage paramètre
    Par besco dans le forum Servlets/JSP
    Réponses: 5
    Dernier message: 13/09/2004, 10h15
  5. Réponses: 6
    Dernier message: 07/09/2004, 16h51

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