Ich bin auf einige andere Fragen gestoßen, die eine ähnliche, aber nicht identische Situation mit meinen beschreiben. This question, zum Beispiel, zeigt ziemlich genau das selbe Problem, außer dass ich keine Portlets benutze - ich benutze nur langweilige alte JSP + JSTL + EL + etc.Wie übermittele ich einen Parameter über einen JSTL-Import über einen Kontext an eine JSP?
Ich habe zwei Anwendungskontexte, und ich möchte eine JSP von einem zum anderen importieren. Ich weiß, wie das tun:
<c:import context="/" url="/WEB-INF/jsp/foo.jsp"/>
Aber ich möchte auch einen Parameter in den importierten foo.jsp
passieren. Aber dieser Code:
<c:import context="/" url="/WEB-INF/jsp/foo.jsp">
<c:param name="someAttr" value="someValue"/>
</c:import>
scheint nicht richtig um den Parameter foo.jsp
zu senden; wenn foo.jsp
ist so etwas wie *
<% System.out.println("foo.jsp sees that someAttr is: "
+ pageContext.findAttribute("someAttr")); %>
dann wird diese ausgedruckt:
foo.jsp sees that someAttr is: null
während ich dies sehen wollen:
foo.jsp sees that someAttr is: someValue
so offensichtlich someAttr
kann nicht gefunden werden in foo.jsp
.
Wie behebe ich das?
* (ja, ich weiß, scriplets==bad
, das ist nur für das Debuggen dieses ein Problem)
Wie stellen Sie sicher, dass Ihr 'foo.jsp' tatsächlich importiert wird? –
@Adeel: Ich bin mir nicht sicher, ob ich sehe, worauf du hinaus willst. Wenn ich eine Seite anfordere, die 'foo.jsp' importiert, sehe ich, dass' println' in meiner Konsole erscheint, und ich sehe einen Versuch, den anderen Inhalt von 'foo.jsp' zu verarbeiten, außer dass es von' $ {abhängig ist someAttr} '. Entschuldigung, es ist spät für mich - antwortet das? –