JSTL错误(HTTP状态404 - / JSTL / home)

时间:2011-02-03 19:05:48

标签: jsp redirect jstl

我正在尝试使用重定向标记将索引页面定位到驻留在我的Web项目的JSP文件夹中的主页。我的项目的层次结构如下:

WEB-INF
     jsp
        home.jsp
index.jsp

我正在使用库jstl 1.2和standard.jar 以下是我的index.jsp

的代码
<%@ taglib prefix="core" uri="/tags/c" %>

<core:redirect url="/home"></core:redirect>

当我运行项目时,我收到以下错误;

HTTP Status 404 - /JSTL/home
type Status report
message /JSTL/home
description The requested resource (/JSTL/home) is not available.

2 个答案:

答案 0 :(得分:1)

/WEB-INF中的文件无法公开访问(在浏览器地址栏中输入其地址时无效)。 <jsp:include>和使用RequestDispatcher的任何servlet是唯一可以访问它们的servlet。

因此,如果您有一个映射在/*上的控制器servlet,并按如下方式调度请求

request.getRequestDispatcher("/WEB-INF/jsp" + request.getPathInfo() + ".jsp").forward(request, response);

然后您的<c:redirect>将有效。但是,如果您没有这样的控制器,那么您应该使用<jsp:include>或将home.jsp移动到公共网页内容(您的index.jsp也在那里)并重定向到{{1}而不是。


与此问题无关,您声明JSTL标记库的方式并没有让我感觉您正在以正确的方式做事或阅读正确的教程。我建议你看一下我们的JSTL tag wiki

答案 1 :(得分:0)

您需要重定向到“/home.jsp”,而不仅仅是“/ home”。