概述
JSP 語法
<jsp:include page="{relativeURL | <%= expression%>}" flush="true" />
or
<jsp:include page="{relativeURL | <%= expression %>}" flush="true" >
<jsp:param name="parameterName" value="{parameterValue | <%= expression %>}" />+
</jsp:include>
Examples
<jsp:include page="scripts/login.jsp" />
<jsp:include page="copyright.html" />
<jsp:include page="/index.html" />
<jsp:include page="scripts/login.jsp">
<jsp:param name="username" value="jsmith" />
</jsp:include>
描述
<jsp:include>元素允許你包含動態檔案和靜態,這兩種包含檔案的結果是不同的。如果檔案僅是靜態檔案,那么這種包含僅僅是把包含檔案的內容加到jsp檔案中去,而如果這個檔案動態的,那么這個被包含檔案也會被Jsp編譯器執行(這一切與asp相似)
你不能從檔案名稱上判斷一個檔案是動態的還是靜態的,比如aspcn.asp 就有可能只是包含一些信息而已,而不需要執行。<jsp:include>能夠同時處理這兩種檔案,因此你就不需要包含時還要判斷此檔案是動態的還是靜態的.
如果這個包含檔案是動態的,那么你還可以用<jsp:param>還傳遞參數名和參數值。
屬性
page="{relativeURL | <%= expression %>}"
參數為一相對路徑,或者是代表相對路徑的表達式.
flush="true"
這裡你必須使用flush="true",你不能使用false值.預設值為false
<jsp:param name="parameterName" value="{parameterValue | <%= expression %> }" />+
<jsp:param>子句能讓你傳遞一個或多個參數給動態檔案
你能在一個頁面中使用多個<jsp:param>來傳遞多個參數。
include與jsp:include區別
jsp中include 有兩種形式,分別是
<%@ include file=” ”%>
<jsp:include page=” ” flush=”true”/>
前者是指令元素、後者是行為元素。通常當應用程式中所有的頁面的某些部分(例如標題、頁腳和導航欄)都相同的時候,就可以考慮用include。<%@ include file=” ”%>,jsp的include指令元素讀入指定頁面的內容。並把這些內容和原來的頁面融合到一起。(這個過程是在翻譯階段:也就是jsp被轉化成servlet的階段進行的。)
include與jsp:include主要有兩個方面的不同;
一:執行時間上:
<%@ include file=”relativeURI”%> 是在翻譯階段執行
<jsp:include page=”relativeURI” flush=”true” /> 在請求處理階段執行.
二:引入內容的不同:
<%@ include file=”relativeURI”%>
引入靜態文本(html,jsp),在JSP頁面被轉化成servlet之前和它融和到一起.
<jsp:include page=”relativeURI” flush=”true” />引入執行頁面或servlet所生成的應答文本.
另外在兩種用法中file和page屬性都被解釋為一個相對的URI.如果它以斜槓開頭,那么它就是一個環境相關的路徑.將根據賦給應用程式的URI的前綴進行解釋,如果它不是以斜槓開頭,那么就是頁面相關的路徑,就根據引入這個檔案的頁面所在的路徑進行解釋