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

Applets Java Discussion :

Applet: Appeler une fonction Java dans le code du JavaScript


Sujet :

Applets Java

  1. #1
    Membre habitué Avatar de hammag
    Profil pro
    Inscrit en
    Février 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 511
    Points : 145
    Points
    145
    Par défaut Applet: Appeler une fonction Java dans le code du JavaScript
    Bonjour,

    j'ai une fonction dans une applet java qui retourne un String et je veux appeler cette fonction dans le code javascript.
    en cherchant sur le net j'ai essayé plusieurs solutions mais sans succès :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var connectExc = document.getElementById("MonApplet_id").pourJS();
    la console js renvoie l'erreur
    document.getElementById("MonApplet_id").pourJS() is not a function

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var connectExc = document.getElementById("MonApplet_id").pourJS;
    pas d'erreur dans la console js mais la variable connectExc est vide.

    j'ai essayé aussi:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    var connectExc = document.MonApplet_name.pourJS;
    et 
     
    var connectExc = document.MonApplet_name.pourJS();
    mais toujours la même réponse.

    pour info voici mon applet
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <applet CODEBASE="D:\eclipse\workspace\Applet\bin" code="MonApplet" name="MonApplet_name" id ="MonApplet_id"
            width=200  height=100 
            mayscript=true > 
    </applet>
    et la fonction pouJS dans l'applet
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    public String pourJS()    {              
    		  return "test";
    }
    SVP

  2. #2
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    765
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 765
    Points : 1 036
    Points
    1 036
    Par défaut
    Il te faut ce code :

    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
    public final void executeJS(String s)
    	 {
    	     String s1 = null;
    	     boolean flag = false;
    	     try
    	     {
    	         Method method = null;
    	         Method method1 = null;
    	         Object obj = null;
    	         Class class1 = Class.forName("netscape.javascript.JSObject");
    	         Method amethod[] = class1.getMethods();
    	         for(int i = 0; i < amethod.length; i++)
    	         {
    	             if(amethod[i].getName().compareTo("getWindow") == 0)
    	             {
    	                 method = amethod[i];
    	                 continue;
    	             }
    	             if(amethod[i].getName().compareTo("eval") == 0)
    	                 method1 = amethod[i];
    	         }
    	         Object aobj[] = new Object[1];
    	         aobj[0] = this;
    	         obj = method.invoke(class1, aobj);
    	         aobj[0] = s;
    	         Object obj1 = method1.invoke(obj, aobj);
    	         if(obj1 instanceof String)
    	             s1 = (String)obj1;
    	         else
    	             s1 = obj1.toString();
    	         flag = true;
    	     }
    	     catch(InvocationTargetException invocationtargetexception)
    	     {
    	         s1 = "" + invocationtargetexception.getTargetException();
    	     }
    	     catch(Exception exception)
    	     {
    	         s1 = "" + exception;
    	     }
    	     if(!flag)
    	         System.out.println("eval failed with error " + s1 + " expression : " + s);
    	 }
    Cette fonction prend l'appel javascript que tu souhaites dans le string en paramètre :

    Par exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    executeJS("alert('Appel qui viens de Java.')");
    Bon courage,

  3. #3
    Membre habitué Avatar de hammag
    Profil pro
    Inscrit en
    Février 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 511
    Points : 145
    Points
    145
    Par défaut
    oui, mais tu ne m'a pas dis comment appeler la fonction executeJS dans javascript

  4. #4
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    765
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 765
    Points : 1 036
    Points
    1 036
    Par défaut
    A oui pardon dans l'autre sens.

    tu as peut-être mis ton applet dans un formulaire ?

    document.form.applet.method()

  5. #5
    Membre habitué Avatar de hammag
    Profil pro
    Inscrit en
    Février 2006
    Messages
    511
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2006
    Messages : 511
    Points : 145
    Points
    145
    Par défaut
    j'ai toujours la même erreur
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    document.getElementById("MonApplet_id").pourJS() is not a function
    quand j'appelle la méthode de l'applet dans le javascript

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    var connectExc = document.forms[0].MonApplet_name.pourJS();
    javascript ne reconnait pas que pourJS() est une méthode de l'applet.

  6. #6
    Membre à l'essai
    Inscrit en
    Avril 2010
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Avril 2010
    Messages : 27
    Points : 15
    Points
    15
    Par défaut
    Bonsoir
    Bon j'ai créer une Applet dans laquelle je sélectionne des champs je veux récupérer les valeurs sélectionnées.
    Pour m'aider juste je veux comment envoyer des données dans un ArrayList d'une applet à une jsp
    Merci pour m'aider c é vraiment très urgent

Discussions similaires

  1. Appeler une méthode JAVA dans code C#
    Par lamyruth dans le forum C#
    Réponses: 11
    Dernier message: 26/10/2009, 15h12
  2. [.net]Appeler une fonction située dans le code behind
    Par anto dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 20/05/2009, 13h05
  3. Appel d'une fonction mysql dans du code javascript
    Par johnson95 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 26/09/2008, 16h29
  4. Appel d'une fonction java (dans une applet) depuis javascript
    Par foued_scorpion dans le forum Applets
    Réponses: 2
    Dernier message: 17/01/2007, 10h40
  5. comment appeler une fonction JAVA en JAVASCRIPT ?
    Par heleneh dans le forum Servlets/JSP
    Réponses: 2
    Dernier message: 13/09/2005, 12h21

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