@include與jsp:include的區別

1.可使用一個JSP指令或者一個標準行爲,在JSP頁面中引入其餘的頁面片斷。html

2. include指令:在翻譯階段(將JSP頁面轉換成servlet的階段),JSP的include指令會讀入指定的頁面中的內容,並將這些內容和原來的頁面融合在一塊兒。web

   <%@ include file=」header.html」%>jsp

引入的頁面能夠只包含靜態內容(例如HTML),也能夠是一個普通的JSP頁面。主頁面和引入的頁面融和在一塊兒(引入的頁面只是最爲普通的文本進行融合,並不對動態內容求值),融合後的完整頁面再被總體的轉換爲一個servlet。函數

這意味着主頁和被引入的頁面共享全部的頁面做用域數據。所以,若是主頁面中聲明瞭一個變量,而在某個被引入的頁面中也聲明瞭一個同名的變量,那麼在翻譯階段將會形成一個錯誤,由於組合後的頁面沒法進行編譯。翻譯

include指令的一個常見用法是引入應用程序的全部頁面都須要的公共聲明。htm

JSP規範建議在使用include指令引入JSP頁面時,最好使用不一樣的文件擴展名,由於它們通常都不是完整而合法的頁面,如:可使用這些替代的文件擴展名:.jspf或 .jsf。對象

被引用頁面改變後,容器可能不會立刻產生反應。資源

<jsp:include>指令用於在運行時引入另外的資源。作用域

<jsp:include page=」navigation.jsp」/>servlet

這個指令是在請求處理階段而不是在翻譯階段執行的。該行爲並非要引入指定頁面的實際內容,它將引入執行該引入頁面後所產生的應答,這意味着你能夠指定任何可以產生文本應答的web資源。JSP容器將經過一個內部的函數調用來調用指定的資源。所以,這些被引入的資源能夠幫助處理原來的請求,因此這些資源能夠訪問請求做用域內的全部對象,以及全部的請求參數。可是要注意,它不能訪問任何頁面做用域屬性,或是在主頁面中聲明的腳步變量。

<c:import>行爲和<jsp:include>相同,另外它還能夠從外部資源引入數據,好比不一樣的web應用程序,或者一個FTPfuwq。

因此應該使用<c:import>來代替<jsp:include>的使用。

被引用頁面改變後,新版本會當即投入使用。

include 和<jsp:include>行爲直接的區別 。語法-執行時間-引入的內容

<%@ include  File=」relativeURI」%>     翻譯階段     靜態文本(HTML、JSP),在JSP頁面被轉換爲servlet以前和他融合在一塊兒

<jsp:include Page=」relativeURI」Flush=」true/false」/>    請求處理階段     執行頁面或servlet所生成的應答文本

我的理解:我我的的理解就是<%@ include file%>是把引入的文件和當前的文件共同合斌成一個servlet文件進行解析。<JSP:include page>是把當前文件和引入文件生成兩個不一樣的servlet文件,在當前文件中在進行動態的調用引入的servlet文件。

相關文章
相關標籤/搜索