【发布时间】:2013-01-25 19:40:22
【问题描述】:
在我将子文件夹添加到我的 jsp 文件夹并在其上方的文件夹中引用 JSP 之前,我一直在构建我的网站。
在adventure_by_dkashtan.jsp:
<jsp:include page="${pageContext.request.contextPath}/WEB-INF/jsp/pageHeader.jsp" flush="true"></jsp:include>
<a href="/djkashtanArtPortfolio/artWorkPage.html" target="_self">
<img src="${pageContext.request.contextPath}/images/artPieces/digitalDrawings/adventure_by_dkashtan.jpg"/>
</a>
<jsp:include page="${pageContext.request.contextPath}/WEB-INF/jsp/pageFooter.jsp" flush="true"></jsp:include>
错误是由于我在第一行引用了 pageHeader.jsp 引起的。当我将 JSP 文件中的 pageHeader 包含在与 pageHeader.jsp 相同的文件夹中时,它可以正常工作。 adventure_by_dkashtan.jsp 文件位于最底部的文件夹中,其余的位于 jsp 文件夹中。
现在我的文件夹结构如下:
webapp
-WEB-INF
--jsp
---artPieces
----digitalDrawings
我的页眉代码:
<html>
<head>
<title>Daniel Kashtan's Art Portfolio</title>
<link rel="stylesheet" href="<c:url value='/css/departments.css'/>" type="text/css" >
</head>
<body>
<h1>Daniel Kashtan's Art Portfolio</h1>
我的页脚代码:
</body>
</html>
【问题讨论】:
-
我删除了我的路径的获取上下文路径部分,所以现在它只是从 /WEB-INF/
开始,它可以工作了!对这条路径进行硬编码是不好的,还是我能做的最好的? -
现在你做对了。包含资源时写完整路径是完全可以的。包含内容发生在服务器端,因此客户端将获得结果并且不会看到某些资源是如何包含的。如果您对在 JSP 中包含内容的不同方式感兴趣,请查看此答案:stackoverflow.com/a/14763794/814702