2010-10-07 50 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