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 :

l'appel d'une méthode Java


Sujet :

JavaScript

  1. #1
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Autre

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2011
    Messages : 10
    Points : 7
    Points
    7
    Par défaut l'appel d'une méthode Java
    Bonjour,
    Comment puis je appeler une méthode à partir d'un code javaScript?

    j'ai besoin d'un exemple s'il vous plait.

  2. #2
    Rédacteur

    Avatar de Bovino
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2008
    Messages
    23 647
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 53
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2008
    Messages : 23 647
    Points : 91 220
    Points
    91 220
    Billets dans le blog
    20
    Par défaut
    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();

  3. #3
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Autre

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2011
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    ma question plus précisément : je veux appeler une méthode qui appartient à une classe java à partir d'un code JavaScript.

  4. #4
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Novembre 2011
    Messages : 15
    Points : 14
    Points
    14
    Par défaut
    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&param2=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.

  5. #5
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Autre

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2011
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    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.

  6. #6
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Citation Envoyé par jessjess Voir le message
    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.
    On voudrait bien mais tu ne nous a pas donné assez d'éléments ^^

    (+1 FlyersWeb dont l'analyse est pertinente : applet ou JSP ?)

  7. #7
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    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.)

  8. #8
    Expert confirmé
    Avatar de RomainVALERI
    Homme Profil pro
    POOête
    Inscrit en
    Avril 2008
    Messages
    2 652
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : POOête

    Informations forums :
    Inscription : Avril 2008
    Messages : 2 652
    Points : 4 164
    Points
    4 164
    Par défaut
    Citation Envoyé par jowelle Voir le message
    Est ce que vous pouvez s'il vous plait me donner plus de détails en terme du code.
    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 !

  9. #9
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Novembre 2011
    Messages : 15
    Points : 14
    Points
    14
    Par défaut
    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.

  10. #10
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Autre

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2011
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    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.

  11. #11
    Futur Membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Octobre 2011
    Messages
    10
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : Autre

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Octobre 2011
    Messages : 10
    Points : 7
    Points
    7
    Par défaut JavaScript appel mèthode java
    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>

  12. #12
    Membre à l'essai
    Homme Profil pro
    Inscrit en
    Novembre 2011
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Novembre 2011
    Messages : 15
    Points : 14
    Points
    14
    Par défaut
    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() :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $.get("calculate.jsp", { number: num },
       function(data){
         $("#result").html(data);
       });
    Ceci simplifierais considérablement le code.

    De plus dans calculate.jsp il n'est pas nécessaire d'inclure tout le code HTML mais simplement la valeur à retourner :
    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!");
    }
    %>
    Je n'est pas tester ce code mais en le simplifiant, cela évite les erreurs de code ^^

Discussions similaires

  1. Appel a une méthode java implicitement
    Par anisj1m dans le forum Général Java
    Réponses: 4
    Dernier message: 16/11/2011, 11h12
  2. Appeler systématiquement une méthode JAVA
    Par soucine dans le forum JSF
    Réponses: 6
    Dernier message: 17/08/2009, 17h56
  3. [JNI] appel d'une méthode java depuis le code natif
    Par myryad dans le forum Entrée/Sortie
    Réponses: 3
    Dernier message: 19/05/2009, 11h23
  4. Réponses: 6
    Dernier message: 24/03/2009, 16h17
  5. Appel d'une méthode java par le biais d'un lien
    Par Lex92 dans le forum Servlets/JSP
    Réponses: 9
    Dernier message: 02/07/2008, 13h17

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