2012-10-03 9 views
7

My JSP liegt bei unter StandortProblem beim Abrufen von Kontextpfad in JSP?

http://myApp.com/myWebApp/customer/images/customer.jsp 

My Bild (thru customer.jsp zugegriffen) liegt auf

http://myApp.com/myWebApp/images/customer.gif

In Bildtag i die absoulte Pfad mache wie unten

src="${param.contextPath}images/customer.gif" 

nur für info ich benutze param hier becoz dies ist, wie wir Anfrage Parameter in EL.

Ich habe erwartet, dass $ {param.contextPath} zurückgibt/myWebApp/aber es zurückgibt/myWebApp/customer /. Gibt es eine Möglichkeit, dass ich nur Kontextpfad (nicht mit Kundennamensraum) erhalten kann, d. H./MyWebApp/aus Anfrage?

+1

ändern Sie es einfach auf 'src = "customer.gif"'. Oder gab es einen Grund für den Kontextpfad? –

+1

Die Verwendung relativer Pfade innerhalb von JSP-Dateien kann unter bestimmten Umständen zu Problemen führen (z. B. wenn die JSP-Datei von einer anderen JSP-Datei an einer anderen Stelle in der Verzeichnishierarchie enthalten ist). – Isaac

Antwort

24

Wenn Sie den Kontextpfad von einem Anforderungsparameter lesen, muss dieser zuvor von jemandem mit einem Wert belegt worden sein. Dieser Wert war falsch, und da es keine Informationen darüber gibt, wer diesen Wert und wie er belegt hat, kann nicht viel darüber gesagt werden.

Verwenden Sie stattdessen ${pageContext.request.contextPath}. Dies ist die Standardmethode zum Abrufen des Kontextpfads, unter dem Ihre Anwendung bereitgestellt wird.

6

Verwenden ${pageContext.request.contextPath} statt

Verwandte Themen