Mi sono imbattuto in alcune altre domande che descrivono una situazione simile, ma non identica, alla mia. This question, ad esempio, mostra più o meno lo stesso problema, tranne che non sto usando portlet - Sto solo usando noioso JSP + JSTL + EL + ecc.Come si passa un parametro a un JSP tramite un'importazione JSTL cross-context?
Ho due contesti applicativi e vorrei importare un JSP da uno all'altro. Io so come farlo:
<c:import context="/" url="/WEB-INF/jsp/foo.jsp"/>
Tuttavia, ho anche voglia di passare un parametro a quella importata foo.jsp
. Ma questo codice:
<c:import context="/" url="/WEB-INF/jsp/foo.jsp">
<c:param name="someAttr" value="someValue"/>
</c:import>
non sembra per inviare correttamente il parametro da foo.jsp
; se foo.jsp
è qualcosa di simile *
<% System.out.println("foo.jsp sees that someAttr is: "
+ pageContext.findAttribute("someAttr")); %>
allora questo viene stampato:
foo.jsp sees that someAttr is: null
mentre io voglio vedere questo:
foo.jsp sees that someAttr is: someValue
così, ovviamente, someAttr
non può essere trovato in foo.jsp
.
Come posso risolvere questo problema?
* (sì, lo so, scriplets==bad
, questo è solo per il debug di questo problema)
Come stai facendo in modo che il tuo 'foo.jsp', sia effettivamente importato? –
@Adeel: non sono sicuro di vedere cosa stai ricevendo. Quando richiedo una pagina che importa 'foo.jsp', vedo la' println' nella mia console, e vedo un tentativo di elaborare l'altro contenuto di 'foo.jsp', tranne che dipende da' $ { someAttr} '. Scusa, è tardi per me - risponde? –