From Gossip@caterpillar

JSP/Servlet: include Directive Element



在JSP技術中,您可以選擇在編譯時期include一個網頁,或是在執行時期include一個網頁, include一個網頁表示暫時將回應(Response)的權限交給被include的網頁,在include的網頁執行完畢或送出內容之後,回應的權 限會再度回到要求 include的原網頁。

選擇在編譯時期include網頁的好處是效能,JSP引擎不用動態呼叫被include的網頁,被include的網頁被當作要求include的網頁的一部份,您可以使用指令元素include來於編譯時期include網頁,例如:

  • demo.jsp
<%@page contentType="text/html; charset=big5"%> 
<%@include file="header.inc"%>
<H1><B>include示範</B><H1>
<%@include file="foot.inc"%>

上面這個程式在第一次執行時,將會include兩個檔案header.inc與foot.inc進行編譯,假設這兩個檔案的內容分別是:
  • header.inc
<html> 
<head><title>include demo</title></head>
<body>

  • foot.inc
</body> 
</html>

執行之後會傳回以下的內容:
<html>
<head><title>include demo</title></head>
<body>
    <h1><b>include示範</b><h1>
</body>
</html>
 

使用指令元素include來進行include,其所犧牲掉的就是一些使用上的彈性,由於是在編譯時期就決定了,所以只能以靜態的方式來指定,而不能傳送參數,所以使用指令元素include的對象通常是一個靜態網頁。