Bonjour,
Comment puis je appeler une méthode à partir d'un code javaScript?
j'ai besoin d'un exemple s'il vous plait.
Bonjour,
Comment puis je appeler une méthode à partir d'un code javaScript?
j'ai besoin d'un exemple s'il vous plait.
Ben... par son nom
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 var obj = { toto: 'tata', getToto: function(){ alert(this.toto); } }; obj.getToto();
ma question plus précisément : je veux appeler une méthode qui appartient à une classe java à partir d'un code JavaScript.
Etant donné que la question n'est pas très précise : le code java est-il un applet ou exécuter côté serveur (Tomcat like) ? Je vais supposé que le Java est exécuter côté serveur.
Pour appeler le module Java depuis le code Javascript, il est possible d'utiliser la technologie AJAX. Pour cela il faut créer une page séparée qui s'occupera d'appeler la méthode (monsite.com/methodeSpecific) et d'effectuer une requête HTTP en GET ou POST avec des paramètres ou non (monsite.com/methodeSpecific?param1=foo¶m2=bar).
Ensuite il n'y a plus qu'à effectuer une requête en Javascript (AJAX) sur la page et récupérer le résultat.
La librairie JQuery en Javascript permet de simplifier pas mal le travail.
s'il vous plait est ce que vous pouvez me donner des exemples car je suis débutante dans ce domaine et je ne sais pas par quoi je dois commencer et qu'est ce que je dois écrire.
merci.
Le problème, c'est une erreur de compréhension du "trajet" d'exécution :
1) le visiteur demande ta page
2) le serveur, en réponse, associe l'URL à une JSP : il exécute le code JAVA entre balises --> cela produit une page HTML dénuée de tout élément java
3) cette page html est renvoyée au client qui l'ouvre et c'est à ce moment que le code Javascript est éventuellement exécuté : plus question d'exécuter le moindre code Java à ce stade.
Donc :
Si tu veux effectivement exécuter une fonction Java dépendante de certains choix utilisateurs (notamment la valeur de "choice") il faut employer la solution évoquée par FlyersWeb >>> Ajax ^^ (ou bien sur fonctionner "à l'ancienne", de manière classique, et poster un formulaire qui requiert la même page JSP ou une autre, avec en paramètre la valeur de "choice" : cela va recherger la page, et c'est ce qu'AJAX permet d'éviter. A toi de voir en fonction de ton contexte et de ses spécificités, donc.)
Absolument.
Clique sur le lien dans mon précédent message, et tu auras accès à de nombreux tutoriels précisément destinés aux débutants, et avec exemples de code à l'appui. Tu nous as donné tellement peu d'éléments de ton propre contexte (et aucun code) que c'est vraiment le maximum qu'on puisse faire !![]()
Pour l'exemple donné, il faudrait faire un appel en ajax dans la fonction file. Avec Jquery tu peux checker ici : http://api.jquery.com/jQuery.get/
La requête ajax donnerait : $.get("file.jsp", {p:path});
Ce qui correspond à un hxxp://monsite.com/file.jsp?p=[path]
Il suffit donc alors de mettre dans file.jsp le traitement à faire sur le path et renvoyer le résultat avec un simple print.
Pour récupérer ce print, il faut utiliser le troisième paramètre de $.get.
En espérant que ça aide.
Salut,
s'il vous plait je n'arrive pas à formuler le code, je suis débutante dans ce domaine, je voudrais un exemple s'il en y a un.
Merci.
Cette fois, j'ai trouvé un code qui me semble bien.
Ma question :
Comment puis-je appeler une méthode à partir d'un code javaScript ?
ou
Comment faire passer une variable javascript dans un code java ?
Est-ce que le code suivant correspond à la bonne solution ?
Sahant que quand j’enlève la partie JavaScript, le programme s’exécute et affiche une valeur.
Aec la partie JavaSript,un combobox vide s'affiche puis le résultat est affiché.
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44 <script src="jquery-1.3.2.min.js" type="text/javascript"></script> <script src="script.js" type="text/javascript"></script> <script type="text/javascript"> function file() { $(document).ready(function() { $('#form').submit(function() { var number = $('#number').val(); $.ajax({ type: "post", url: "calculate.jsp", data: "number=" +number, success: function(msg) { $('#result').hide(); $("#result").html("<h3>" + msg + "</h3>") .fadeIn("slow"); } }); return false; }); }); } </script> </head> <body> <form id="form" action="calculate.jsp" method="post"> Enter number: <input id="number" type="text" name="number" /> <input id="submit" type="submit" value="Calculate Square Root" name="submit" onclick="file()"/> </form> <p id="result"></p> </body> </html>
calculate.jsp
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 <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>JSP Page</title> </head> <body> <% int number = 0; if(request.getParameter("number").matches("4")) { number = Integer.parseInt(request.getParameter("number")); out.println("Square root of " + number + " is " + Math.sqrt(number)); } else { out.println("Enter a number!"); } %> </body> </html>
L'utilisation de la méthode ajax de jquery n'est pas vraiment nécessaire dans votre cas, je préfèrerais la méthode get qui est une surcouche de ajax() :
Ceci simplifierais considérablement le code.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 $.get("calculate.jsp", { number: num }, function(data){ $("#result").html(data); });
De plus dans calculate.jsp il n'est pas nécessaire d'inclure tout le code HTML mais simplement la valeur à retourner :
Je n'est pas tester ce code mais en le simplifiant, cela évite les erreurs de code ^^
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 <% int number = 0; if(request.getParameter("number").matches("4")) { number = Integer.parseInt(request.getParameter("number")); out.println("Square root of " + number + " is " + Math.sqrt(number)); } else { out.println("Enter a number!"); } %>
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager