2011-02-03 120 views
0

我試圖使用重定向標記來將索引頁導向駐留在我的web項目的JSP文件夾中的主頁。我的項目的層次結構下:JSTL錯誤(HTTP狀態404 -/JSTL/home)

 
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. 

回答

1

/WEB-INF中的文件不可公開訪問(在瀏覽器地址欄中輸入地址時不可用)。 <jsp:include>和任何使用RequestDispatcher的servlet是唯一可以訪問它們的servlet。

所以,如果你有被映射在/*和如下

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

那麼你<c:redirect>將工作分派請求的控制器servlet。但是如果您沒有這樣的控制器,那麼您應該使用<jsp:include>或將home.jsp轉換爲公共webcontent(其中您的index.jsp也是),並將其重定向到home.jsp


無關的問題,你的方式宣告了JSTL標籤庫不給我你正在做的事情以正確的方式或讀取正確的教程一種強烈的感覺。我建議你看看我們的JSTL tag wiki

+0

哇!謝謝先生。我在想同樣的觀點,但我想確定這個事實。非常感謝 – 2011-02-03 20:00:25

0

您需要重定向到「/home.jsp」,而不僅僅是「/ home」。