1. 程式人生 > >include指令和動作的區別

include指令和動作的區別

更改 方式 語法 之前 程序 url 設定 修改 方法

include指令:

include可以在JSP頁面轉換成Servlet之前,將JSP代碼插入其中。它的主要優點是功能強大,所包含的代碼可以含有總體上影響主頁面的JSP構造,比如屬性、方法的定義和文檔類型的設定。include指令的語法格式 <%@ include file="Relative Url"%>

include動作:

include動作是在主頁面被請求時,將次級頁面的輸出包含進來。盡管被包含的頁面的輸出中不能含有JSP,但這些頁面可以是其他資源所產生的結果。服務器按照正常的方式對指向被包含資源的URL進行解釋,因而這個URL可以是Servlet或JSP頁面。服務器以通常的方式運行被包含的頁面,將產生的輸出放到主頁面中,這種方式與RequestDispatcher類的include方法一致。它的優點是在被包含的頁面發生更改時,無須對主頁面做出修改。它的缺點是所包含的是次級頁面的輸出,而非次級頁面的實際代碼,所以在被包含的頁面中不能使用任何有可能在整體上影響主頁面的JSP構造。include動作的語法如下 <jsp:include page="Relative path to resource" flush="true">

include 指令通過file屬性來指定被包含的頁面,include動作標識通過page屬性來指定被包含的頁面include指令,被包含的文件為原封不動的插入到包含頁中使用該指令的位置,然後JSP編譯器再對這個合成的文件進行編譯,所以在一個JSP頁面中使用include指令來包含另外一個JSP頁面,最終編譯後的文件只有一個。

include 動作標識包含文件時,當該標識執行時,程序會將請求轉發到被包含的頁,並將執行結果輸出到瀏覽器中,然後返回包含頁繼續執行後面的代碼,因為服務器執行的是兩個文件。所以JSP編譯器會分別對這兩個文件進行編譯

include動作和include指令之間的根本性的不同在於它們被調用的時間,include動作在請求期間被激活,而include指令在頁面轉換期間被激活。

include指令和動作的區別