2010-03-26 5 views
8

Contexteproblème URL absolue Spring MVC

Je développe une application (avec Spring MVC) avec son chemin de base comme:

http://localhost:8080/myapplication/ 

J'ai une feuille de style /css/style.css que je suis en train de se référer à absolute path dans une JSP:

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

problème

La feuille de style ne se charge jamais dans le navigateur. Quand je suis le lien stylesheet dans la fonction vue du navigateur la source, le lien semble être:

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

qui aurait dû avoir été:

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

J'utilisé pour résoudre ce problème avec l'étiquette html:rewrite tout travaillant avec Struts. Y a-t-il une étiquette/technique équivalente dans Spring MVC?

Merci pour votre temps.

Répondre

22

Utilisez le tag JSTL c: url.

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

Vous pouvez également utiliser le pageContext pour préfixer le chemin du contexte.

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

Pour éviter d'encombrer tous les liens avec '$ {}' pageContext.request.contextPath, utilisez la balise '' . – BalusC