Si hago:¿Puede un archivo de etiqueta JSP acceder a su llamada a PageContext de JSP?
<% pageContext.setAttribute("foo", "bar"); %>
<custom:myTag/>
que parece que debería ser capaz de hacer:
<%= pageContext.getAttribute("foo") %>
interior de myTag.tag ... pero por supuesto no puedo porque los archivos doesn etiqueta No tiene acceso a pageContext (en cambio, tiene acceso a jspContext ... que no tiene los mismos atributos que el pageContext de la página llamante).
Ahora, puede acceder a través de la pageContext ELScript:
${pageContext}
pero eso no ayuda porque ELScript no tiene manera de pasar argumentos, por lo que no puede hacer:
${pageContext.getAttribute("foo")}
Sin embargo, el hecho de que ELscript puede acceder al contexto de la página, y el hecho de que la etiqueta puede acceder a todo tipo de variables como jspContext, que debe haber alguna manera de acceder a una etiqueta (en una lógica scriptlet/Java, no solo en ELScript) un atributo de la llamada JSP's pageContext.
¿Lo hay?
Gracias, pero la cuestión es que ya tengo las variables que quiero en pageContext, y suficiente código (heredado) que las haga referencia allí que no quiero tener que cambiarlas para solicitar atributos. Así que * puedo * simplemente poner copias duplicadas en la solicitud también, pero esperaba que hubiera alguna otra forma de hacerlo. Ah, y estas variables se aprobarán MUCHO en MUCHAS etiquetas si las hago de atributos, así que realmente esperaba una solución "entre bastidores". Si no hay forma de que sea posible acceder al pageContext de JSP desde la etiqueta ... supongo que no he tenido suerte :-( – machineghost
Puede acceder al contexto de la página real con (PageContext) getJspContext(). Consulte mi respuesta a continuación. –
@Jason: la pregunta no era sobre eso. – BalusC