JSP中的兩種include的區別

1、<%@ include file=」relativeURI」%> html

   1.能夠叫做靜態include(靜態包含),是jsp指令中的一種。

   2.在JSP頁面被轉化成servlet以前,和引入的JSP融合到一塊兒,
   「先包含,後編譯」,不會檢查所含文件的變化,


   3.<%@ include file=""%>指令在編寫代碼的時候通常放在最頂部,主要附加的是被重用的代碼,這裏所說的附加是指把源代碼原封不動的附加過來,例如在jsp程序中使用這個指令的時候file裏面的值(即要導入的文件)不能帶多餘的標籤或是與當前jsp文件重複的東西。例如裏面不要包含<html><body>這樣的標籤,由於是把源代碼原封不動的附加過來,因此會與當前的jsp中的這樣的標籤重複致使出錯。 

  4.用include僞碼實現,定不會檢查所含文件的變化,適用於包含靜態頁面,直接將內容先包含後處理
     java

   靜態include的結果是把其餘jsp引入當前jsp,二者合爲一體。 jsp


     靜態include純粹是把代碼寫在外面的一種共享方法,全部的變量都是能夠和include它的主文件共享,二者高度緊密結合,不能有變量同名的衝突.而頁面設置也能夠借用主文件的. 

2、<jsp:include page=」relativeURI」 flush=」true」 />
    1.能夠叫做動態include(動態包含),是jsp動做的一種。

    2.被引入的文件先編譯,後包含進來,而後顯示

    3.而應用<jsp:include page="" flush="" />標籤導入一個重用文件的時候,這個文件是通過編譯的,通俗點說就是附加這個要導入文件通過編譯後的效果,因此能夠含有與當前jsp程序中重複的內容,由於在附加過來以前就會被解析掉。

    4.它老是會檢查所含文件中的變化,適合用於包含動態頁面,而且能夠帶參數,先編譯以後再進 行處理。ide

 
      動態include的結構是二者獨立,直到輸出時才合併( 看看jsp生成的java文件就能夠知道   了)。 spa


      動態include的jsp文件獨立性很強,是一個單獨的jsp文件,須要使用的對象,頁面設置,都必須有本身建立,固然,還好它和include它的頁面的request範圍是一致的。

3、總結
   另外在兩種用法中file和page屬性都被解釋爲一個相對的URI.若是它以斜槓開頭,那麼它就是一個環境相關的路徑.將根據賦給應用程序的URI的前綴進行解釋,若是它不是以斜槓開頭,那麼就是頁面相關的路徑,就根據引入這個文件的頁面所在的路徑進行解釋。檢查所含文件中的變化,適合用於包含動態頁面,而且能夠帶參數。它老是會檢查所含文件中的變化,適合用於包含動態頁面,而且能夠帶參數。.net



參考:http://blog.csdn.net/hackerain/article/details/6766206orm

    http://jingyan.baidu.com/article/5d368d1efbeed63f60c057c7.htmlhtm

相關文章
相關標籤/搜索