Erreur de compilation

Erreur de compilation - Java - Programmation

Marsh Posté le 03-07-2002 à 16:34:23    

j'comprend pas, ça me saoule. Il me fait tourner en bourique ce compilateur.
J'ai le JDK1.4
la lib servlet 2.3
 
j'ai ce code là:

Code :
  1. String url="/jsp/navigation.jsp";
  2.         // Appel d'une page jsp pour affichage des résultats
  3.         URL dest = response.encodeURL(url);
  4.         RequestDispatcher dispatcher = this.getServletContext().getRequestDispatcher(dest); 
  5.         dispatcher.forward(request, response);
  6.         out.close ();


 
Et il veut pas compiler. Voila ce qu'il me dit:

Code :
  1. com/damaris/ldsweb/JLdsWeb.java [144:1] incompatible types
  2. found   : java.lang.String
  3. required: java.net.URL
  4.         URL dest = response.encodeURL(url);
  5.                                      ^


 
Alors, je me dis, pas de problèmes, je vais lui donne son URL, sur ce, je modifie la ligne foireuse :

Code :
  1. URL dest = response.encodeURL(new URL (url));


Et là, devinez ce qu'il me dit...

Code :
  1. com/damaris/ldsweb/JLdsWeb.java [144:1] encodeURL(java.lang.String) in javax.servlet.http.HttpServletResponse cannot be applied to (java.net.URL)
  2.         URL dest = response.encodeURL(new URL (url));
  3.                            ^


 
[:iznogoud_23]  
J'en ai marre, heeelp please !

Reply

Marsh Posté le 03-07-2002 à 16:34:23   

Reply

Marsh Posté le 03-07-2002 à 16:48:43    

Bah, t'es sûr que response.encodeURL renvoie un URL, et pas une String?
 
Genre, si tu fais :  
 
URL dest = new URL(response.encodeURL(url));
 
ça marche pas?


Message édité par gfive le 03-07-2002 à 16:49:39
Reply

Marsh Posté le 03-07-2002 à 16:53:16    

gfive a écrit a écrit :

Bah, t'es sûr que response.encodeURL renvoie un URL, et pas une String?
 
Genre, si tu fais :  
 
URL dest = new URL(response.encodeURL(url));
 
ça marche pas?




 
Heu, ouais, t'as raison, ça renvoit une String. Mais ds mon code c corrigé. l'erreure vient pas de ça.
Le compilateur dit bien que le pb vient d'un fait que je passe un URL, ou une String à la fonction encodeURL...
enfin, j'ai fait dans l'autre sens:

Code :
  1. String urlEncoded =  response.encodeURL(url));


Message édité par El_gringo le 03-07-2002 à 16:54:29
Reply

Marsh Posté le 03-07-2002 à 16:54:48    

dis une question? Ca te fatiguerait de regarder la javadoc pour connaitre la signature d'une méthode. La méthode en question te renvoie une String :) et c'est écrit noir sur blanc !!!


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 03-07-2002 à 17:00:44    

DarkLord a écrit a écrit :

dis une question? Ca te fatiguerait de regarder la javadoc pour connaitre la signature d'une méthode. La méthode en question te renvoie une String :) et c'est écrit noir sur blanc !!!




 
...l'erreur vient pas de ça.
En plus, si j'ai écrit ça, c'est à la base en faisant un copier coller de ça, issu d'un autre topic:

DarkLord a écrit a écrit :

mais tu t'en fous de transmettre ou pas transmettre ton ID. C'est complètement transparent pour toi. Si ta JSP est invoquée comme ca
 
http://site.com/jsp/majsp.jsp?jses [...] therparams ..
 
tu auras accès de manière transparente à l'objet session. Et j'ai répondu à te question, en ce sens qui si tu proposes des liens sur ta page JSP ils doivent etre encodées via encodeURL sinon tu perdras ta session si le user clique sur le lien
 
Pour etre sur que ca marche, tu peux faire ca dans ta servlet

Code :
  1. HttpSession s = request.getSession(); // pour etre sur que la session est crée
  2. // ajout d'un machin bidon
  3. s.setAttribute("toto", new String("coucou" ));
  4. URL dest = res.encodeURL("/jsp/page.jsp" )
  5. System.out.println("URL encodée : "+dest);
  6. RequestDispatcher dispatcher = context.getRequestDispatcher(dest);
  7. dispatcher.forward(req, res);


 
et dans ta jsp
 

Code :
  1. <%= session.getAttribute("toto" ) %>


 
A+  




 
:D
Et tu sais bien que, concernant je Java, je tiens pour parole d'évangile tout ce que tu dis ! :D


Message édité par El_gringo le 03-07-2002 à 17:01:29
Reply

Marsh Posté le 03-07-2002 à 17:06:50    

MDR. Et bin tu vois ca montre qu'il faut toujours regarder la javadoc (j'avais pas regardé) et qu'il ne faut pas copier coller le code que d'autres crétins écrivent :D
 
 :lol:


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 03-07-2002 à 17:07:50    

Ceci dit j'ai du faire une bete JSP cet aprèm et ca m'a pris un temps dingue tellement ca fait longtemps que j'en ai plus fait (pour tout dire c'est greg qui a tout fait à ma place  :ange: )


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 03-07-2002 à 17:12:23    

DarkLord a écrit a écrit :

MDR. Et bin tu vois ca montre qu'il faut toujours regarder la javadoc (j'avais pas regardé) et qu'il ne faut pas copier coller le code que d'autres crétins écrivent :D
 
 :lol:  




 
Ouah, ça fait plaisir une réaction comme ça. J'étais en train de serrer les dents en éspérant que tu te vexerais pas !
ça va, c cool, t pas si suceptible que ça.:D
Mais tout ça, ça résoud pas mon pb en fait...

Reply

Marsh Posté le 03-07-2002 à 17:16:05    

ha... si ! :D

Reply

Marsh Posté le 03-07-2002 à 17:16:24    

[:iznogoud_23]  [:iznogoud_23]  [:iznogoud_23]  [:iznogoud_23]  
heu... bah merci hein ! :D
...et pardon !
Sur ce, je file me cacher.


Message édité par El_gringo le 03-07-2002 à 17:16:57
Reply

Marsh Posté le 03-07-2002 à 17:16:24   

Reply

Marsh Posté le 03-07-2002 à 17:17:21    

el_gringo a écrit a écrit :

 
Mais tout ça, ça résoud pas mon pb en fait...




 
mais euh ????
 

Code :
  1. String url="/jsp/navigation.jsp";
  2. // Appel d'une page jsp pour affichage des résultats  
  3. String dest = response.encodeURL(url);
  4. RequestDispatcher dispatcher = this.getServletContext().getRequestDispatcher(dest); 
  5. dispatcher.forward(request, response);
  6. out.close ();


 
marche non ??? Où est le problème. Puisque encodeMachin renvoie une string et getRequestBrol veut une string aussi ... :??:  


---------------
Just because you feel good does not make you right
Reply

Marsh Posté le 03-07-2002 à 17:24:14    

el_gringo a écrit a écrit :

ha... si ! :D  




 
 [:xp1700]  [:yaisse2]


---------------
Just because you feel good does not make you right
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed