2010-03-26 3 views
8

HintergrundSpring MVC absolute URL Problem

ich eine Anwendung entwickle (mit Spring MVC) mit seinem Basispfad als:

http://localhost:8080/myapplication/ 

ich ein Stylesheet habe /css/style.css, die ich mit absolute path Bezug zu nehmen versuchen in einer JSP als:

<link rel="stylesheet" href="/css/style.css" type="text/css" media="screen, projection"> 

Problem

Das Stylesheet wird niemals im Browser geladen. Wenn ich den Stylesheet Link durch Browser folgen Quelltext anzeigen Funktion wird der Link zu sein:

http://localhost:8080/css/style.css 

Welche gewesen gehabt haben sollte:

http://localhost:8080/myapplication/css/style.css 

ich dieses Problem mit html:rewrite Tag zu beheben verwendet, während Arbeiten mit Struts. Gibt es eine entsprechende Markierung/Technik in Spring MVC?

Danke für Ihre Zeit.

Antwort

22

Verwenden Sie das JSTL-Tag c: url.

<c:url value="/css/style.css" var="url" /> 
<link rel="stylesheet" href="${url}" type="text/css" media="screen, projection"> 

Sie können auch den Seitenkontext verwenden, um den Kontextpfad voran zu stellen.

<link rel="stylesheet" href="${pageContext.request.contextPath}/css/style.css" type="text/css" media="screen, projection"> 
+20

Um zu vermeiden, alle Verbindungen mit '$ unübersichtlich {pageContext.request.contextPath}', die Verwendung von '' Tag machen. – BalusC