Spring MVC绝对URL问题

cra*_*man 9 html java spring-mvc

背景

我正在开发一个应用程序(with Spring MVC),其基本路径为:

http://localhost:8080/myapplication/
Run Code Online (Sandbox Code Playgroud)

我有一个样式表/css/style.css,我试图absolute path在JSP中引用:

<link rel="stylesheet" href="/css/style.css" type="text/css" media="screen, projection">
Run Code Online (Sandbox Code Playgroud)

问题

样式表永远不会在浏览器中加载.当我通过浏览器的视图源功能关注样式表链接时,链接似乎是:

http://localhost:8080/css/style.css
Run Code Online (Sandbox Code Playgroud)

应该是这样的:

http://localhost:8080/myapplication/css/style.css
Run Code Online (Sandbox Code Playgroud)

我用来解决这个问题有html:rewrite与工作时的标签Struts.是否有任何等效的标签/技术Spring MVC

谢谢你的时间.

Cha*_*kar 23

使用JSTL c:url标记.

<c:url value="/css/style.css" var="url" />
<link rel="stylesheet" href="${url}" type="text/css" media="screen, projection">
Run Code Online (Sandbox Code Playgroud)

您还可以使用pageContext为上下文路径添加前缀.

<link rel="stylesheet" href="${pageContext.request.contextPath}/css/style.css" type="text/css" media="screen, projection">
Run Code Online (Sandbox Code Playgroud)

  • 为了避免使用`$ {pageContext.request.contextPath}`混乱所有链接,请使用`<base>`标记. (22认同)