2010-10-07 54 views
1

我想問一個關於JSP頁面的問題。爲了高效地管理項目,我將項目設置爲以下結構。當我在列表中的文件夾,main.jsp中,我設置了標題爲以下不能使用JSP中的「包含文件」

<%@ include file="universe/header.jsp" %> 

當我打開main.jsp中,它顯示了錯誤

找不到「JSP/list/universe/header.jsp「

header.jsp和其他類無法讀取。任何人都可以幫我解決這個問題嗎?謝謝。

類結構

webapp 
| 
|-- jsp 
    | 
    |-- list 
    | | 
    | |--main.jsp 
    | 
    |-- universe 
     | 
     |-- header.jsp 
     |-- footer.jsp 
+2

從你的結構,似乎宇宙正在JSP /,而不是JSP /列表/作爲錯誤信息 - 如果我正確地讀它,然後文件=」 ../universe/header.jsp「可能工作? – belwood 2010-10-07 04:48:54

回答

5

在JSP包括指令的路徑可以是相對於包括頁面或絕對(然後它開始與/和屬於web應用根目錄)。

因此,在這種情況下,您必須將路徑設置爲../universe/header.jsp/jsp/universe/header.jsp

-1

這取決於您是否使用類路徑來定位文件。如果你使用類路徑來定位你的文件,那麼它應該在你的類文件夾中

+0

對不起,但對於Web應用程序中的JSP文件,這不是真的。這裏的JSP文件不僅僅是簡單的資源文件來定位。 JEE上下文中的Web應用程序具有已定義的結構。請查看http://www.jsptube.com/servlet-tutorials/web-application-directory-structure.html 通常,/ WEB-INF /類和/ WEB-INF/lib中的JAR位於類路徑和JSP中文件總是駐留在這些文件夾之外。 – vanje 2010-10-07 05:43:21

0

在JSP包含指令中,路徑可以是相對的。

您可以使用這種方式

<%@ include file="/jsp/universe/header.jsp" %> 

你可以參考在許多網站的指令。最好的一個是太陽Java網站。

或者您也可以訪問此頁面Include Directive