JSP contextPath链接到页面

时间:2015-03-04 21:02:57

标签: java jsp

我有一个JSP项目,我试图在我的nav.jsp中创建一个链接指向我的首页(index.jsp)以进行导航。

<nav>
    <ul class="menu">
        <li><a href="${pageContext.request.contextPath}/index.jsp"><span>Frontpage</span></a></li>
    </ul>
</nav>

但是当我运行我的项目时,导航到newWebsite2015.jsp。并尝试使用导航菜单中的链接返回。我收到以下错误。

  

HTTP状态404 - /MyNewRandomBlog1.0/article/index.jsp

但是为什么它会在index.jsp文件的文件夹中查找,而不是转到web-directory的根目录并找到index.jsp?

在我的footer.jsp文件中,我使用pageContext.request.contextPath来检索图像,它工作正常。

<img src="${pageContext.request.contextPath}/images/farOgSon-172x190px.png" alt="image1"/>

所以我真的不明白它不适用于锚。

我的web.xml看起来像

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" id="WebApp_ID" version="3.1">
  <display-name>MyNewRandomBlog1.0</display-name>
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>

Hirachy

1 个答案:

答案 0 :(得分:0)

${pageContext.request.contextPath}将获取您当前的上下文路径,以便它获取文章文件夹。

你应该改用

request.getContextPath()/index.jsp