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

JavaScript Discussion :

JavaScript dans un fichier .jsp


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 13
    Points : 7
    Points
    7
    Par défaut JavaScript dans un fichier .jsp
    Bonjour,
    je voudrais recuperer une variable var (String var=node.text) de mon lien et afficher sa valeur dans un div d'une autre page jsp
    le lien est le suivant
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a class=treeview href='"+node.text+"' title=\"" + node.toolTip + "\">" + node.text+"</a>
    Merci d'avance de votre aide

  2. #2
    Membre actif

    Profil pro
    Inscrit en
    Juillet 2012
    Messages
    183
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2012
    Messages : 183
    Points : 274
    Points
    274
    Par défaut
    Je vois pas ce que vient faire le JavaScript ici, personnellement tout ça devrait être fait coté serveur.
    De plus ce node.text d’où vient-il ? D'une base de donnée ? Il vient peut-être d'un objet avec un id ?

    Personnellement j'aurai fais :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    <a class="treeview href="?nodeid=' + node.id + '"....></a>
    Et dans l'autre page tu récupères ce paramètres "nodeid".

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Bonjour arnogues, en fait node.text contient un nom de colonne de ma base de donnée. le lien est dans un boucle for qui affiche les noms de colonne sous forme de treeview.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <a class=treeview href='"+node.text+"' title=\"" + node.toolTip + "\">" + node.text+"</a>
    Donc mon probleme c'est d'afficher au click sur un nom de colonne la valeur de node.text dans une partie de la page. le code que j'ai est long mais si vous voulez je peux le poster

  4. #4
    Membre régulier
    Homme Profil pro
    Inscrit en
    Août 2010
    Messages
    130
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Canada

    Informations forums :
    Inscription : Août 2010
    Messages : 130
    Points : 82
    Points
    82
    Par défaut
    postes le code. j'ai relu plusieurs fois et je ne pige pas vraiment ce que tu veux.

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Bonjour n2engineer5, je m'explique encore je veux recuperer la valeur de node.text (voir treeview.jsp en bas) quand je clik sur le lien et l'afficher dans une partie de ma page index.jsp (qui se charge de l'affichage) voici le code
    une page treeview.jsp
    une page index.jsp qui fait l'affichage
    Code jsp : 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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <%@ page import="java.util.List,java.util.ArrayList" %>
     
     
    <%@include file="treeview.jsp" %>
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Insert title here</title>
    </head>
    <body>
     
     
     
    <%
     
     
    String folder = request.getParameter("f");      
    if (folder==null){
            folder="images";
    }
     
    TreeView tv =new TreeView();
     
    tv.target="content";
    tv.setImagesUrl(folder);
     
    //add treenode using the standard methods               
    tv.add(tv.createNode("LESELEVES"));
     
    List<String> list =
    (ArrayList<String>)request.getAttribute("list");
    for(int i = 0; i < list.size();i++){
    //affichage des colonnes sous forme de treeview
            tv.nodes.item(0).add(tv.createNode(list.get(i),"toto",list.get(i)));
    }
     
     
                    out.print(tv.getTree());
            
    %>
    <h2>zone de recup</h2>
     
    </body>
    </html>

    et une page treview.jsp


    Code jsp : 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
    26
    27
    28
    29
    30
    31
    32
    class TreeView{
    	System.out.println("nombre de nodeList"+nodeList.length);
    	for (int i=0;i<nodeList.length;i++){
    		Node node = nodeList.item(i);	
    		if(node.childNodes.length>0){
    			System.out.println("nombre de childnode"+nodeList.length);
    			hasChild=true;	
    		}else{
    			hasChild=false;
    		}
    		if(node.imageUrl==""){
    			style="";
    		}else{
    			style="style='list-style-image: url("+ node.imageUrl +");'";
    		}				
    		if(hasChild){
    			print("<li "+ style +" class=folder id='P" + parent + i + "'><a class=treeview href=\"javascript:toggle('N" + parent + "_" + i + "','P" + parent + i + "')\">" + node.text + "</a>");
    		}else{
    			if(node.target==""){
    				node.target=target;
    			}
    		// c'est avec ce lien que je dois recuperer la valeur de node.text au click et l'afficher dans index.jsp
    		//toto est l'url pattern declaré dans web.xml
    			print("<li "+ style +" class=file><a class=treeview href='"+"toto' title=\"" + node.toolTip + "\">" + node.text+"</a>");
    		}
    		System.out.println("nom de la colonne"+node.text);
    		if(hasChild){		
    			loopThru(node.childNodes,parent + "_" + i);
    		}	
    		print("</li>");
    	}
    }

  6. #6
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    excuse mais édite ton message précédent
    enlève l'espace entre [code et =jsp] pour que le forum afiche ton code correctement

    indente ton code et mets nous uniquemet que la boucle où tu génére ton href qui te pose pb car là il y en a beaucoup trop c'est quasi illisible et on ne sais pas ce qu'on cherche.

    Je t'ai fait une réponse et en relisant je me suis dit que je n'avais pas compris

    Code jsp : Sélectionner tout - Visualiser dans une fenêtre à part
    <a class=treeview href=\"url/de/la/page/avec/un/div/qui/doit/recevoir/la/valeur.de?node.text="+node.text+"\" title=\"" + node.toolTip + "\">" + node.text+"</a>
    ainsi la jsp "valeur.de" reçois dans sa queryString la variable node.text contenant du lien cliqué
    A+JYT

  7. #7
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Bonjour sekaijin, j'ai édité le code , en fait je pense que vous n'avez pas compris ma question et je me suis reexpliqué en haut

  8. #8
    Invité
    Invité(e)
    Par défaut
    Bonjour,
    Le problème est que tu n'obtiens rien avec ce fichier là ? ou en général tu ne parviens pas à faire passer de variable ?

  9. #9
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    je ne suis pas sur d'avoir compris
    je pense que tu as un pb d'ordre d'exécution de test jsp

    lorsque le client appelle ton url index.jsp
    le code de celle-ci commence à s'exécuter puis vient l'instruction include treeview.jsp
    là c'est le code de tree view qui est exécuté
    cette jsp rand la main à index.jsp qui génère le HTML
    celui-ci est lu par le client qui instancie le DOM et exécute le js

    lorsque l'utilisateur clique sur le lien le code index.jsp à déjà été exécuté tu ne peux donc rien lui passer.

    Je n'ai pas compris ce que tu veux faire
    si c'est envoyer la variable à index.jsp et recharger cette page
    je t'ai déjà donné la solution
    Code jsp : Sélectionner tout - Visualiser dans une fenêtre à part
    <a class=treeview href=\"index.jsp?uneVariable="+node.text+"\" title=\"" + node.toolTip + "\">" + node.text+"</a>
    il te reste juste dans index.jsp à récupérer la queryString (uneVariable) sera définie dedans et contiendra la valeur du lien cliqué.

    si par contre tu ne veux pas ré exécuter la jsp index.jsp mais aller directement placer la valeur dans le DOM
    (je n'ai pas compris où)
    on n'a pas besoint du jsp mais du code HTML de ta page.
    Code jsp : Sélectionner tout - Visualiser dans une fenêtre à part
    <a class=treeview href=\"#\" onclick="return nodeClick(this);>" + node.text+"</a>
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    function nodeClick(aHref) {
      var text = aHref.innerHtml;
      var p = document.createElement('P');
      p.innerHtml = text;
      document.body.appendChild(p);
    }
    Ainsi lorsque tu clique sur le lien la fonction nodeClick est appelée avec en paramètre le lien sur le quel tu as cliqué. la fonction récupère le texte du lien
    crée un nouveau paragraphe
    écrit le texte récupéré dans le paragraphe
    et ajoute le paragraphe dans la page.
    dans ce cas rien n'est envoyé au serveur aucun code jsp n'est réexécuté tout se passe en local sur le poste du client

    A+JYT

  10. #10
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Bonjour sekaijin, merci pour ton aide.
    en fait c'est la deuxieme solution qui m'interesse. donc j'ai mi la fonction nodeClick dans la page treeview.jsp et j'ai appelé la fonction au click . Apres execution quand je clique sur le lien ca reste sur la meme page mais ca n'affiche toujours pas le lien sur la meme page.

  11. #11
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    En fait c'est le script qui n'est pas executé je crois parce j'ai essayé avec un simple fonction javascript qui affiche juste une boite de dialogue au clik, je precise que je suis une novice en javascript; donc peut etre que j'ai mal appelé la fonction.

  12. #12
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    poste la partie de code HTML (dans ton navigateur) du lien AHref avec la fonction

    A+JYT

  13. #13
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Bonjour sekaijin, comme expliqué en haut le lien se trouve dans une page jsp qui se charge d'afficher les resultats sous forme de treeview.

    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    print("<li class=file><a class=treeview href=\"#\" onclick=\"return nodeClick(this);\">" + node.text+"</a>");

    Cette page est appelé dans un autre fichier jsp , ce jsp contient le code HTML.
    En fait je travail avec le MVC,
    La page qui contient le code HTML est la suivante:
    Code html : 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
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
    <%@ page import="java.util.List,java.util.ArrayList" %>
     
     
    <%@include file="treeview.jsp" %>
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title>Insert title here</title>
    </head>
    <body>
     
    <%
     
     
    String folder = request.getParameter("f");      
    if (folder==null){
            folder="images";
    }
     
    TreeView tv =new TreeView();
     
    tv.target="content";
    tv.setImagesUrl(folder);
     
                    
    tv.add(tv.createNode("LESELEVES"));
     
    List<String> list =
    (ArrayList<String>)request.getAttribute("list");
    //recuperation des colonnes de ma table
    for(int i = 0; i < list.size();i++){
            tv.nodes.item(0).add(tv.createNode(list.get(i),"toto",list.get(i)));
     
    }
     
    //affichage de la liste
                    out.print(tv.getTree());
                    
            
    %>
    <h2>zone de recuperation</h2>
     
     
    </body>
    </html>

  14. #14
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    bout de code de treeview.jsp qui contient la fonction nodeClick
    Code java : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    public String getTree(){
    		print("<script>function toggle(id,p){var myChild = document.getElementById(id);if(myChild.style.display!='block'){myChild.style.display='block';document.getElementById(p).className='folderOpen';}else{myChild.style.display='none';document.getElementById(p).className='folder';}}</script>");
    		print("<style>ul.tree{display:none;margin-left:17px;}li.folder{list-style-image: url("+ folder +"/plus.gif);}li.folderOpen{list-style-image: url("+ folder +"/minus.gif);}li.file{list-style-image: url("+ folder +"/dot.gif);}a.treeview{color:"+ color +";font-family:verdana;font-size:8pt;}a.treeview:link {text-decoration:none;}a.treeview:visited{text-decoration:none;}a.treeview:hover {text-decoration:underline;}</style>");
    		print("<script>function nodeClick (aHref){ var text=aHerf.innerHTML; var p=document.createElement('P'); p.innerHtml = text; document.body.appendChild (p);}s</script>");
     
    		loopThru(nodes,"0");
    		return buf.toString();
    	}

  15. #15
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    Non se dont nous avons besoin c'est le code HTML DANS LE NAVIGATEUR

    le code côté serveur ne sert à rien javascript s'exécute EXCLUSIVEMENT DANS LE NAVIGATEUR

    A+JYT

  16. #16
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Merci, sekaijin,
    j'ai resolue le probleme et si ca peut aider un autre voici ce que j'ai fait

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <script>function test (id){if(id) { image = id; } else { image ='erreur d'affichage'; } document.getElementById ('ecrit').innerHTML=image;}</script>
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <a class=treeview href=\"#\" title=\"" + node.toolTip + "\"  onClick=\"javascript:test('"+node.text+  "')\">" + node.text+"</a><br>
    <span  id='ecrit'></span>

  17. #17
    Expert éminent
    Avatar de sekaijin
    Homme Profil pro
    Urbaniste
    Inscrit en
    Juillet 2004
    Messages
    4 205
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Urbaniste
    Secteur : Santé

    Informations forums :
    Inscription : Juillet 2004
    Messages : 4 205
    Points : 9 127
    Points
    9 127
    Par défaut
    Citation Envoyé par lisa_web Voir le message
    Merci, sekaijin,
    j'ai resolue le probleme et si ca peut aider un autre voici ce que j'ai fait

    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <script>function test (id){if(id) { image = id; } else { image ='erreur d'affichage'; } document.getElementById ('ecrit').innerHTML=image;}</script>
    cette fonction va te poser plusieurs problèmes
    1) la syntaxe de l'affectation de l'erreur est incorrecte si tu passe dans le elle tu va avoir une exception
    2) il faut retourner un booléen true ou false (dans ton cas false)
    Code javascript : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    function test (id){
      if(id) {
        image = id;
      } else {
        //image ='erreur d'affichage'; //ici tu ne peux pas avoir de ' dans une chaine délimité par des ' il faut utiliser des "
        image ="erreur d'affichage"; //ici pas de pb de string
      }
      document.getElementById ('ecrit').innerHTML=image;
      return false; //il faut retourner false l'explication dans la partie suivante
    }
    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    <a class=treeview href="#" title="blabla"  onclick="return test('node') ">node</a><br>
    <span  id='ecrit'></span>
    1) onclick s'écrit sans majuscule.
    2) il ne faut pas mettre javascript: dans les methodes des événements.
    3) il faut retourner false dans onclik. si tu ne le fait pas ton lien est activé. tu à mis # donc si ton lien est en bas de la page lorsqu'on clique on remonte tout en haut

    A+JYT

  18. #18
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    13
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Sénégal

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2011
    Messages : 13
    Points : 7
    Points
    7
    Par défaut
    Merci, sekaijin jai rectifié la fonction et l'appel

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

Discussions similaires

  1. Problème fichier JavaScript dans une page JSP
    Par layloun dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 18/08/2014, 16h44
  2. basculer une variable javascript dans du code JSP
    Par gloglo dans le forum Servlets/JSP
    Réponses: 8
    Dernier message: 01/06/2006, 11h44
  3. Appel d'une methode java dans un fichier jsp
    Par kodo dans le forum Servlets/JSP
    Réponses: 3
    Dernier message: 06/05/2006, 13h46
  4. Réponses: 7
    Dernier message: 23/04/2006, 23h07
  5. Réponses: 8
    Dernier message: 29/01/2006, 16h48

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