Pasar datos de un JSP a otro con Strut

Estoy tratando de pasar una variable desde una página a un popup, con lo cual estoy utilizando el siguiente código:
<script>
function Galeria2(local){
popup = window.open("<%=request.getContextPath()%>/vistas/Galeria.dbs?localidad = "+local+"","popup","width=660, height=400,location=no,top=100,left=120");
popup.focus();
}
</script>
Hasta ahí voy bien, el problema es cuando rescato la variable desde el popup, lo hago de la siguiente manera:
<%
String localidad = request.getParameter("localidad");
%>
Según lo que yo estoy haciendo, esta bien, el problema que la variable me esta llegando null, no quiero tener que usar Sesiones para solucionar este tema.
2

2 respuestas

Respuesta
1
En teoría debería funcionar de esa manera sin problema. Comprueba que se se está mandando el parámetro en la URL del popup. "Galería.dbs" he de suponer que es una acción de struts, ¿no? (¿Es más habitual usar el .do). Puedes ponerme la definición de esa acción en el Struts_config.xml?
Para localizar el problema escribe la URL directamente en el explorador. Si no recibe el parámetro es problema de la acción, si lo recibe el problema está en el javascript que abre el popup o en la página de origen.
<action path="/vistas/Galeria" parameter="/WEB-INF/galeria/galeria.jsp" type="org.apache.struts.actions.ForwardAction"/>
El popup lo esta abriendo bien, de echo, abre el jsp solicitado y en su URL, aparece "http://localhost:8080/webUser/vistas/Galeria.dbs?localidad = Santiago", el problema, es que necesito cargar información dentro del popup con la variable que le envió en el script y esta al llegar null, no me carga nada.
Ojo, no estoy pasando por ninguna clase entre cada jsp, solo estoy haciendo una comunicación directa entre el jsp que solicita el popup, con el popup donde necesito utilizar la variable.
De antemano, agradezco tu ayuda y el que ayas respondido a mi pregunta.
Ya encontré el error, al pedirme que revisara la URL del popup, me di cuenta de que en el script, al definir la URL, estaba colocando un espacio ente la declaración de la variable y la carga de información "Galeria.dbs?localidad = Santiago", al quitarle los espacios "Galeria.dbs?localidad=Santiago", se solucionaron mis problemas.
Muchas Gracias.
Respuesta
1
¿Has hecho copy/paste en el código que pasas? Si es así tienes un espacio entre localidad y el signo = y eso puede hacer que te devuelva null.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas