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

ammouna24 Messages postés 35 Date d'inscription lundi 9 juillet 2007 Statut Membre Dernière intervention 6 juillet 2009 - 28 avril 2009 à 16:28
Arto_8000 Messages postés 1044 Date d'inscription lundi 7 mars 2005 Statut Membre Dernière intervention 13 juillet 2010 - 1 mai 2009 à 02:13
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

Arto_8000 Messages postés 1044 Date d'inscription lundi 7 mars 2005 Statut Membre Dernière intervention 13 juillet 2010 7
28 avril 2009 à 16:45
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.
0
ammouna24 Messages postés 35 Date d'inscription lundi 9 juillet 2007 Statut Membre Dernière intervention 6 juillet 2009
29 avril 2009 à 10:51
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; <!--]
0
Arto_8000 Messages postés 1044 Date d'inscription lundi 7 mars 2005 Statut Membre Dernière intervention 13 juillet 2010 7
29 avril 2009 à 18:32
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.
0
ammouna24 Messages postés 35 Date d'inscription lundi 9 juillet 2007 Statut Membre Dernière intervention 6 juillet 2009
29 avril 2009 à 22:43
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; ]
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
Arto_8000 Messages postés 1044 Date d'inscription lundi 7 mars 2005 Statut Membre Dernière intervention 13 juillet 2010 7
29 avril 2009 à 22:51
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.
0
ammouna24 Messages postés 35 Date d'inscription lundi 9 juillet 2007 Statut Membre Dernière intervention 6 juillet 2009
30 avril 2009 à 13:12
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; ]
0
Arto_8000 Messages postés 1044 Date d'inscription lundi 7 mars 2005 Statut Membre Dernière intervention 13 juillet 2010 7
1 mai 2009 à 02:13
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.
0
Rejoignez-nous