您好我在JSP文件中遇到包括js / css甚至图像src的问题。
当我的应用程序以任何上下文开头时说abc ex。 http://localhost:8080/abc
和浏览器位于网址http://localhost:8080/abc/reports/userCount
上,并且在该JSP中我将css包括为
<link rel="stylesheet" type="text/css" href="resources/thirdparty/css/jquery-ui.smoothness.min.css">
浏览器控制台中显示404错误,下载css的URL形成为
http://localhost:8080/abc/reports/resources/thirdparty/css/jquery-ui.smoothness.min.css
但是当我在一个像
这样的网页上 http://localhost:8080/abc/createBadgeStep2
同样包括css工作正常,因为下载css的url创建正常。
http://localhost:8080/abc/resources/thirdparty/css/jquery-ui.smoothness.min.css
我在这里可以清楚地看到URL中的Context之后的第二个斜杠正在创建问题。但无法弄清楚如何解决它。问题也出现在js和图像上。
任何帮助都将受到高度赞赏。
答案 0 :(得分:2)
将样式表导入为
<link rel="stylesheet" type="text/css"
href="${pageContext.request.contextPath}/resources/thirdparty/css/jquery-ui.min.css">
如果要在页面中导入多个资源,最好使用<c:set>
JSTL标记在页面范围变量中设置上下文路径。
<c:set var="ctxPath" value="${pageContext.request.contextPath}" />
然后在href
属性中使用该变量。
<link rel="stylesheet" type="text/css" href="${ctxPath}/resources/..." />
您还需要导入JSTL标记库以使用<c:set>
标记。
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>