Comment passer une variable d'une fonction javascript dans un code jsp dans la m

Signaler
Messages postés
35
Date d'inscription
lundi 9 juillet 2007
Statut
Membre
Dernière intervention
6 juillet 2009
-
Messages postés
1044
Date d'inscription
lundi 7 mars 2005
Statut
Membre
Dernière intervention
13 juillet 2010
-
Bonjour,

Voici le bout de code que je veux faire, je sais que c'est débil de faire comme ça mais en fait ce que je veux c'est que je passe la variable result dans les fonctions que j'ai développé dans mon code.
function appelInfo(result){

  <%

      Recherche r = new Recherche(result);
      String res = r.search();
     
  %>
         
}

S'il vous plaît j'ai besoin de l'aide car j'ai pas trouvé comment faire marcher ça et je dois le faire marcher avant demain.
 
Merci
[Insert_Emoticon%28%27/imgs2/smile_angry.gif%27%29; <!--]

7 réponses

Messages postés
1044
Date d'inscription
lundi 7 mars 2005
Statut
Membre
Dernière intervention
13 juillet 2010
7
Il faut d'abord que tu comprennes que ton code JSP s'exécute côté serveur et il retourne un résultat sous forme de code HTML et Javascript. Quand tu charges ta page ce qui va être retourné est ceci :

function appelInfo(result){
         
}

Note bien que la seule chose qui va rester une fois l'exécution faite côté serveur c'est une fonction vide parce que ton code JSP n'affiche rien lors de l'exécution côté serveur. Ce que tu te retrouve à appeller côté client c'est une fontion vide.

Pour appeller une fonction côté serveur, il faut que tu fasses une requête vers le serveur demandant d'exécuter cette fonction. En javascript, la seule façon de faire cela, c'est de passer par AJAX (Asynchronus Javascript And XML). La documentation sur AJAX abonde sur le web, il te sera donc facile de trouver des exemples sur le sujet.
Messages postés
35
Date d'inscription
lundi 9 juillet 2007
Statut
Membre
Dernière intervention
6 juillet 2009

Bonjour,

Merci pour votre explication.
J'ai passé à appliquer ça avec ajax  mais je ne comprends pas pourquoi ça me retourne 
status 404 est ce que ça est du au mapping du servlet

Mon code est le suivant :

var req;

function appelInfo(title,lat,lng,address){


var requete = title;

var url = "recherche?id=" + encodeURIComponent(requete.value);

try {

// Mozilla, Firefox, Opera et le reste du monde.

req = new XMLHttpRequest();


}

catch (error) {

try {

// IE

req = new ActiveXObject("Microsoft.XMLHTTP");

}

catch (error) {

try {

// IE

req = new ActiveXObject("Msxml2.XMLHTTP");

}

catch (error) {

req = false;

}

}

}

req.overrideMimeType('text/xml');


req.open("GET", url, true);

req.onreadystatechange = callback;

req.send(null);


}


function callback() {

if (req.readyState == 4) {

if (req.status == 200) {

var response = req.responseXML;

document.getElementById(lienRech).innerHTML = response;

}

else {

alert("erreur" + req.status);

}

}

}


et pour le mapping dans web.xml j'ai fait ça :

<servlet>

<servlet-name>SearchServlet</servlet-name>

<servlet-class>modelsearch.SearchServlet</servlet-class>


</servlet>

<servlet-mapping>

<servlet-name> SearchServlet </servlet-name>

/recherche

</servlet-mapping>

Merci de m'aider
[Insert_Emoticon%28%27/imgs2/smile_angry.gif%27%29; <!--]
Messages postés
1044
Date d'inscription
lundi 7 mars 2005
Statut
Membre
Dernière intervention
13 juillet 2010
7
C'est problament du à un problème dans ton mapping. Il y a peut-être les espaces inutiles dans ton champ servlet-name de ton mapping qui posent problème. Si ce n'est pas ça essaie de voir les messages d'erreur qu'il te donne quand tu démarres (ou redémarres) ton serveur.
Messages postés
35
Date d'inscription
lundi 9 juillet 2007
Statut
Membre
Dernière intervention
6 juillet 2009

Bonsoir

J'ai supprimé les espace mais encore rien et pas d'erreurs dans le serveur.
J'ai changé la requête :
req.open("GET", "http://localhost:8080/ModelSearch/recherche?id"+encodeURIComponent(requete.value), true);

mais encore j'ai rien obtenu. Est ce que vous avez une autre solution.

Merci
[Insert_Emoticon%28%27/imgs2/smile_angry.gif%27%29; ]
Messages postés
1044
Date d'inscription
lundi 7 mars 2005
Statut
Membre
Dernière intervention
13 juillet 2010
7
Faudrait que tu regardes ce que le serveur te retourne quand tu le (re)démarres. Si tu travailles avec Eclipse JEE, tu le vois dans la console. Si il y a des erreurs dans ton mapping, c'est là qu'il va te dire ce qui cloche.
Messages postés
35
Date d'inscription
lundi 9 juillet 2007
Statut
Membre
Dernière intervention
6 juillet 2009

Bonjour,

Je travaille avec Netbeans et le serveur GlassFish, dans la console de GlassFish aucune erreur. Même j'ai vu le fichier log du servuer tout à l'air d'être bien alors que ça fonctionne pas.
Qu'est ce que je peux faire ?

Merci.
 
[Insert_Emoticon%28%27/imgs2/smile_angry.gif%27%29; ]
Messages postés
1044
Date d'inscription
lundi 7 mars 2005
Statut
Membre
Dernière intervention
13 juillet 2010
7
Fait juste au moins tester à partir de ton navigateur si le fichier existe ou non. Si c'est une erreur 404, je ne sais pas vraiment où le problème pourrait être avec tes configurations, sinon assure toi que le path est bien entrer dans ton fichier javascript.