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.