1.include指令:
<%@ include file="header.jsp" %>
file屬性是必填的(絕對或相對路徑),但它不支持任何的表達式,也不允許通過?掛參方式來傳遞參數。
2.include動作:
<jsp:include page="header.jsp" flush="true" />
page屬性是必填的(絕對或相對路徑),但它及支持表達式也可傳遞參數。flush屬性為緩沖區滿時,清空緩沖區。
對於靜態包含,<%@include%>,中包含的文件,只是簡單的嵌入到主文件中,就是在jsp頁面轉化成Servlet時才嵌入到主文件中,因為運行的結果是只生成了一個Servlet。
而對於動態包含<jsp:incude>,如果被包含文件是動態的,那么就會生成兩個Servlet,也就是被包含文件也要經過jsp引擎編譯執行生成一個Servlet,兩個Servlet通過request和reponse進行通信。如果被包含的文件是靜態的,那么這種情況和<%@include>就很相似,只生成了一個Servlet,但是他們之間沒有進行簡單的嵌入,而依然是通過request和reponse進行的通信。