He encontrado algunas otras preguntas que describen una situación similar, pero no idéntica, a la mía. This question, por ejemplo, muestra más o menos el mismo problema, excepto que no estoy usando portlets; solo estoy usando aburridos ol JSP + JSTL + EL +, etc.¿Cómo paso un parámetro a un JSP a través de una importación JSTL de contexto cruzado?
Tengo dos contextos de aplicación y me gustaría importar un JSP de uno a otro. Yo sé cómo hacer eso:
<c:import context="/" url="/WEB-INF/jsp/foo.jsp"/>
Sin embargo, también quiero pasar un parámetro a la foo.jsp
importado. Pero este código:
<c:import context="/" url="/WEB-INF/jsp/foo.jsp">
<c:param name="someAttr" value="someValue"/>
</c:import>
no parece enviar correctamente el parámetro a foo.jsp
; Si foo.jsp
es algo así como *
<% System.out.println("foo.jsp sees that someAttr is: "
+ pageContext.findAttribute("someAttr")); %>
entonces esto se imprime:
foo.jsp sees that someAttr is: null
mientras que yo quiero ver esto:
foo.jsp sees that someAttr is: someValue
así, obviamente, someAttr
que no se encuentra en foo.jsp
.
¿Cómo puedo solucionar esto?
* (sí, lo sé, scriplets==bad
, esto es sólo para la depuración de éste problema)
¿Cómo se asegura de que su 'foo.jsp' se haya importado realmente? –
@Adeel: No estoy seguro de ver a qué te refieres. Cuando solicito una página que importe 'foo.jsp', veo que' println' aparece en mi consola, y veo un intento de procesar el otro contenido de 'foo.jsp', excepto que depende de' $ { someAttr} '. Lo siento, es tarde para mí, ¿eso lo contesta? –