pageContext.request.contextPath 不起作用

发布于 2024-11-04 18:36:46 字数 354 浏览 5 评论 0原文

我正在使用 Tomcat 6.0.32,并且尝试将 JSP 文件包含到另一个文件中,但不知何故找不到该文件(是的,该文件存在)。这是文件结构和代码:

<jsp:include page="${pageContext.request.contextPath}/templates/header.jsp">
</jsp:include>

WebContent
- folder/caller.jsp
- templates/header.jsp

但是,如果我在其中使用 ${pageContext.request.contextPath} 来检查它是否正确输出,它会起作用,有谁知道为什么会发生这种情况?

I'm using Tomcat 6.0.32 and I'm trying to include a JSP file into another, but somehow the file cannot be found (yes, the file exists). Here is the file structure and code:

<jsp:include page="${pageContext.request.contextPath}/templates/header.jsp">
</jsp:include>

WebContent
- folder/caller.jsp
- templates/header.jsp

However, if I use ${pageContext.request.contextPath} outside of that to check if it outputs correctly, it works, does anyone know why this is happening?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

画中仙 2024-11-11 18:36:46

我什至不确定是否可以在 中使用运行时变量,但另一个问题是 contextPath 引用 所请求 URL 的上下文服务器,以及不一定对应于您的文件系统布局。

为什么不直接使用

I'm not even sure if you can use runtime variables inside a <jsp:include>, but the other problem is that the contextPath refers to the context of the URL being requested from the server, and does not necessarily correspond to your filesystem layout.

Why wouldn't you just use <jsp:include page="templates/header.jsp">?

深海少女心 2024-11-11 18:36:46

我完全同意上面的答案,但是如果你必须这样使用它,那么下面的代码就可以工作

<c:set var="myContext" value="${pageContext.request.contextPath}"/>
<jsp:include page="${myContext}/templates/header.jsp"> </jsp:include> 

i completely agree with the above answer however if u have to use it this way then the below code shd work

<c:set var="myContext" value="${pageContext.request.contextPath}"/>
<jsp:include page="${myContext}/templates/header.jsp"> </jsp:include> 
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文