通過include可以防止頁面代碼冗餘和重複,並且規範布局,只需要一個包含語句,就可以實現代碼重用,提高效率,具體如下:
1> include指令:<%@ include file=”relativeURL”%>,relativeURL是本應用程式內另一個JSP或者HTML檔案的路徑。例如,網站內所有頁面均有一個統一風格的導覽列head.jsp或者指令碼著作權foot.jsp,則可以使用include指令。即include指令用來實現JSP頁面的區塊化。
範例程式碼如下:
<%@ pagelanguage=”java” conentType=”text/html; charset=utf-8”%>
<%@ includefile=”head.jsp”%>
…
<%@ includefile=”foot.jsp”%>
2> <jsp:include/>行為:<jsp:include page=”relativeURL”flush=”true”/>屬性page是必需的,為被包含檔案的相對路徑,必須為本web應用程式內的檔案。屬性flush取值範圍是true或false,預設為false,設定讀入被儲存檔案內容前是否清空緩衝。
範例程式碼如下:
<%@ pagelanguage=”java” contentType=”text/html;charsert=UTF-8” %>
<jsp:includeflush=”true” page=”/head.jsp?></jsp:include>
這裡是本文
<jsp:includeflush=”true” page=”/foot.jsp”></jsp:include>
兩者區別:雖然include指令和include行為都能包含一個檔案,但是兩者的原理與include發生的時刻是不一樣的。前者是“先包含,後編譯”,在編譯時間包含的,包含的是原始碼,而後者是“先運行,後包含”在運行時包含的,而且只包含運行結果。Include行為適用request.getRequestDispatcher(“relativeURL”).forward(request.response)來執行被包含的檔案。