【问题标题】:HTTP status 500 when trying to include JSP files in different folders尝试将 JSP 文件包含在不同文件夹中时的 HTTP 状态 500
【发布时间】: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

标签: html jsp tomcat


【解决方案1】:

尝试包含这样的文件

<%@ include file="/WEB-INF/jsp/pageFooter.jsp" %>

或者您可以使用相对路径,例如../

【讨论】:

  • +1。在这种情况下,&lt;jsp:include /&gt; 中不需要${pageContext.request.contextPath}
猜你喜欢
  • 2012-07-02
  • 2020-07-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-12-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多