我的目录树是这样的,
- /index.jsp
- /template/topHeader.jsp
- /accounts/signin.jsp
在我的index.jsp
我已包含 topHeader.jsp
像这样,
<jsp:include page="template/topHeader.jsp" />
这工作正常,没有任何问题。但在topHeader.jsp
我有一些<a>
我已给出路径的标签,
<div class="pull-left">
Hello! <a href="../accounts/signin.jsp">Sign in</a>.
</div>
运行后,此链接给出 404,这是可以理解的,因为索引页已经在根文件夹中。现在将来我可能必须包括这个topHeader.jsp
几乎无处不在。
浏览器像这样更改网址,
localhost:8084/project/index.jsp
点击登录后 (404)
localhost:8084/accounts/signin.jsp
但路径应该是
localhost:8084/project/accounts/signin.jsp
我也尝试过包括 topHeader.jsp
按照以下方式,但得到了相同的结果。
<%@ include file="template/topHeader.jsp" %>
那么提供 <a>
路径的最简单方法是什么?标签。很抱歉这个问题可能看起来有点不清楚,但我不知道如何更好地解释它。
最佳答案
使用${pageContext.request.contextPath}
给出链接的相对路径,
<a href="${pageContext.request.contextPath}/accounts/signin.jsp">Sign in</a>
关于java - jsp:include 运行时给出 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48237757/