JSP中的include的兩種用法

2021-08-19 21:05:10 字數 1553 閱讀 7750

jsp中的include的兩種用法

1.兩種用法

說明標籤:<%@ include file=」relativeuri」%> 

動作標籤:

2.用法區別

include指令

通過file屬性來指定被包含的頁面。

動作通過page屬性來指定被包含的頁面。

(1)靜態包含: 

使用include指令

,被包含的檔案被原封不動的插入到包含頁面中使用該指令的位置,然後jsp編譯器再對這個合成的檔案進行編譯,所以在乙個jsp頁面中使用include指令來包含另乙個jsp頁面,最終編譯後的檔案只有乙個。

(2)動態包含: 

使用動作

包含檔案時,當該動作標識執行後,jsp程式會將請求**到(注意不是重定向)被包含頁面,並將執行結果輸出到瀏覽器中,然後返回頁面繼續執行後面的**,以為web容器執行的兩個檔案,所以jsp編譯器會分別對這兩個檔案進行編譯。

(3)靜態包含時被包含的jsp頁面要去掉

<%

string path = request.getcontextpath();

string basepath = request.getscheme()+"://"+request.getservername()+":"+request.getserverport()+path+"/";

%>

"> <%--base標記是乙個基鏈結標記,是乙個單標記。用以改變檔案中所有鏈結標記的引數內定值。它只能應用於標記之間。你網頁上的所有相對路徑在鏈結時都將在前面加上基鏈結指向的位址。 --%>

如(1)中所說最終編譯後的檔案只有乙個,所以不能重複定義path、basepath。

而動態包含則是分開編譯兩個jsp,所有不會出現重複定義的情況,即不需要去掉上述**,顯然去掉了則會報錯。

注意:(使用動作通常是包含那些經常改動的檔案,因為被包含的檔案改動不會影響到包含檔案,因此不需要對包含檔案進行重新編譯)

3.如何使include頁面攜帶入引數

}" flush="true" />

or}" flush="true" >

}" />+

屬性 page=""  引數為一相對路徑,或者是代表相對路徑的表示式。

子句能讓你傳遞乙個或多個引數給動態檔案,你能在乙個頁面中使用多個來傳遞多個引數。

屬性flush 設定為true會清理快取資料 預設值為 false,(  

在同乙個jsp中,如果不斷地 include 自己的(原始檔),在邏輯上會

形成死迴圈。若預設情況下,伺服器會等待該檔案被讀到地段,然後才輸出到客戶端,並且銷毀該次訪問的 request 和 response。而當 flush 屬性賦值為 true 時,在快取積累了一定的資料時,伺服器會先提供一部分資料給瀏覽器,並等待後序內容。由此,再簡單頁面中,該屬性不納入考慮,而在頁面包含大量資料時,為縮短客戶端延遲,可將一部分內容先行輸出,該屬性在 servlet 中也有對應的應用。

JSP中兩種INCLUDE的區別

include file jsp 個人理解 先包含檔案,兩個檔案最終編譯為乙個檔案 不可傳參 1.這是一種driective指令,是一種編譯指令,是在編譯期間的指令,是靜態包含,即將指定的jsp頁面或html頁面包含進來,整個頁面一起編譯。2.不能在include指令裡面傳遞引數,如 include...

jsp 中 include 的兩種用法

1.兩種用法 include file 2.用法區別 1 執行時間上區別 include file relativeuri 是在翻譯階段執行 在請求處理階段執行.jsp中的兩種包含頁面的方法 第一種 include指令 當jsp轉換成servlet時引入指定檔案 靜態包含 第二種 jsp inclu...

jsp中兩種include用法的區別

jsp中兩種include用法的區別 2010 12 24 22 01 如果要實現乙個 而且整個web站點,都需要選單,頁首,頁尾 html 兩種實現方法 1,在所有的jsp頁面中,寫上選單,頁首,頁尾的html 顯然這樣做時不合理的,如果後期要換一下頁首或選單,那麼工作量是很大的 2 在所有的js...