Foros del Web » Creando para Internet » Diseño web »

Problema con paso de parametros a un Servlet

Estas en el tema de Problema con paso de parametros a un Servlet en el foro de Diseño web en Foros del Web. Tengo un problema con el paso de parámetros a un servlet a su método doGet. Los parámetros que paso tiene espacios y en el primer ...
  #1 (permalink)  
Antiguo 26/07/2002, 08:56
 
Fecha de Ingreso: mayo-2002
Mensajes: 37
Antigüedad: 14 años, 4 meses
Puntos: 0
Problema con paso de parametros a un Servlet

Tengo un problema con el paso de parámetros a un servlet a su método doGet.
Los parámetros que paso tiene espacios y en el primer espacio se corta y ya no envía el resto de los parámetros. Tal vez no me explique bien, pero lo que creo que sucede es que esa dirección tendré que codificarla de alguna manera especial para que se puedan transmitir parámetros con espacios. Ese es mi problema y el reto que planteo en el foro.

Os planteo el problema con un ejemplo.

He puesto una etiqueta del tipo <a href> con enlace a un servlet que toma los parámetros que se le pasan junto a la misma.

String cad = "<a href=listaSolicCambioDatEnt?tipo=confirma&IdEn t="+ IdEnt+"&oNE="+oldNomEnt+"&o DE="+oldDirEnt+"&nNE="+ newNomEnt+"&nDE="+newDirEnt+"&g t;Aceptar cambio</a>";

Cuando lee el valor de oldNomEnt se encuentra con que es: “su calle”, lo cual contiene un espacio.

El string que se construye después de la sustitución es:

http://localhost:8080/aida/servlet/listaSolicCambioDatEnt?oNE=entitv&oDE=su+calle &nNE=entitv5&nDE=su+calle7&IdEnt=2


Pero al pinchar sobre este enlace, la cadena que se pasa al navegador es:

http://localhost:8080/aida/servlet/listaSolicCambioDatEnt?tipo=confirma&IdEnt=2&a mp;oNE=entitv&oDE=su

Es decir, se corta en el primer espacio que aparece en los parámetros.
Sospecho que la solución vaya por pasar el string, previamente a incluirlo en la etiqueta <a href>, por un método de alguna clase que lo codifique y permita que el navegador interprete correctamente los espacios.

Muchas gracias a todo el mundo que pueda contribuir a la solución del problema.
  #2 (permalink)  
Antiguo 27/07/2002, 10:16
 
Fecha de Ingreso: junio-2002
Mensajes: 39
Antigüedad: 14 años, 3 meses
Puntos: 0
Re: Problema con paso de parametros a un Servlet

Hola

La verdad es que no tengo mucha idea, pero he estado mirando y tienes una solucion muy facil, solo tienes que poner un formulario con campos ocultos(todos los datos que quieras pasar) y el boton. Y con eso funciona perfectamente!!!! ;)

Un saludo
  #3 (permalink)  
Antiguo 28/07/2002, 05:02
Avatar de Zokor  
Fecha de Ingreso: julio-2002
Mensajes: 167
Antigüedad: 14 años, 2 meses
Puntos: 1
Re: Problema con paso de parametros a un Servlet

Hola amigo.

Pues es raro lo que te sucede. He hecho 3 pruebas con un enlace en una página:

<a href="login?nombre=mi nombre&direccion=su calle">prueba</a>
<a href="login?nombre=mi+nombre&direccion=su +calle">prueba</a>
<a href="login?nombre=mi%20nombre&direccion= su%20calle">prueba</a>

En los tres casos he recibido bien los parámetros en un servlet, con request.getParameter(nombre) y request.getParameter(direccion)

Quizá el problema venga de otro sitio. Haz estas pruebas y dime si alguna te funciona.

También puedes probar el método encode() de la clase java.net.URLEncoder. Sirve para codificar urls (<a href='ir.asp?http://java.sun.com/j2se/1.3/docs/api/java/net/URLEncoder.html' target='_blank'>http://java.sun.com/j2se/1.3/docs/api/ja...</a>)

Dime el resultado de tus pruebas ;)

Saludos!

<div align="center"><img src="http://www.alu.ua.es/d/dcmc/img/A1202.gif" width="75" height="78">
  #4 (permalink)  
Antiguo 28/07/2002, 11:06
 
Fecha de Ingreso: junio-2002
Mensajes: 39
Antigüedad: 14 años, 3 meses
Puntos: 0
Re: Problema con paso de parametros a un Servlet

Vale, VISTO
es una bobada como una catedral, no funciona bien, por que le faltan las comillas:

&lt;a href= &quot; listaSolicCambioDatEnt?tipo=confirma&amp;IdEnt=&qu ot;+ .... &quot;

jeje, lo que pueden liar unas simples comillas!!! :)
  #5 (permalink)  
Antiguo 05/08/2002, 03:18
 
Fecha de Ingreso: mayo-2002
Mensajes: 37
Antigüedad: 14 años, 4 meses
Puntos: 0
Re: Problema con paso de parametros a un Servlet

Muchas gracias Logic.
Diste en el clavo: Eran la comillas. Si es que a veces uno se empeña en ver otras cosas y no ve lo obvio.

Perdona por haber tardado tanto en darte las gracias pero he estado unos días de descanso y apartado del foro.

Lo dicho: muchas gracias.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:06.