1. 程式人生 > >js——jsp中include的兩種用法

js——jsp中include的兩種用法

1.兩種用法

<%@ include file=” ”%>
<jsp:include page=flush=”true”/>

2.用法區別

(1)執行時間上區別

<%@ include file=”relativeURI”%> // 是在翻譯階段執行

<jsp:include page=”relativeURI” flush=”true” />// 在請求處理階段執行.

JSP中的兩種包含頁面的方法

第一種:include指令:當JSP轉換成Servlet時引入指定檔案 (靜態包含)
第二種:< jsp:include>動作元素:當JSP頁面被請求時引入指定檔案(動態包含)

總結

對於靜態包含,<%@include%>,中包含的檔案(無論html檔案還是jsp檔案),只是簡單的嵌入到主檔案中,就是在jsp頁面轉化成Servlet時才嵌入到主檔案中,因為執行的結果是隻生成了一個Servlet。

而對於動態包含< jsp:incude>,如果被包含檔案是動態的(jsp檔案),那麼就會生成兩個Servlet,也就是被包含檔案也要經過jsp引擎編譯執行生成一個Servlet,兩個Servlet通過request和reponse進行通訊(包含的jsp是一個完整的檔案有html、body等標籤)。如果被包含的檔案是靜態的(html檔案),那麼這種情況和<%@include>就很相似,只生成了一個Servlet,但是他們之間沒有進行簡單的嵌入,而依然是通過request和reponse進行的通訊

<jsp:include>
  包含一個靜態或動態檔案.
  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>來傳遞多個引數