2011-03-16 45 views
1

我已經從JSP 2.1規範文檔的以下段落中做了介紹。我很困惑,我需要一些幫助。JSP規範中的相對URL

頁面相對路徑是不以斜槓(/)開始的路徑。它將被解釋爲與當前JSP頁面或當前JSP文件或標記文件 有關,具體取決於路徑的使用位置。

我很好,直到這。然後,

對於文件屬性中使用路徑的包含指令(參見章節JSP.1.10.3),解釋是相對於JSP文件或標記文件的。對於在頁面屬性中使用路徑的jsp:include操作(請參見部分JSP.5.4,「<jsp:include>」), 的解釋與JSP頁面相關。在這兩種情況下,當前頁面或 文件都由一些以/開頭的路徑表示,然後由新的規範 修改以生成以/開頭的路徑。

上一段說的是,在這兩種情況下的解釋是相對於JSP頁面,但怎麼來它會以「/」開始?根據第一段的頁面相對路徑不以斜槓開始?這是打字錯誤嗎?和shd它就像'在這兩種情況下路徑應該像「../myfile.jsp」??

新路徑通過ServletContext對象進行解釋。有關此解釋的確切細節,請參見章節JSP.1.10.5。

我同意這一點,如果路徑以斜槓開始。

回答

0

該規範聲明「當前頁面」的值將以'/'開頭。那是路徑相對的頁面,而不是相對路徑本身。

所以如果你指定了一個相對路徑,它將使用總是以'/'開頭的當前路徑來計算新的路徑。產生的新路徑也將以'/'開頭。

您只需使用相對路徑來描述相對於當前路徑的新路徑。