JSP include 指令用于通知 JSP 引擎在翻譯當前 JSP 頁面時,將其他文件中的內容合并進當前 JSP 頁面轉換成的 Servlet 源文件中,這種在源文件級別進行引入的方式,稱為靜態引入,當前 JSP 頁面與靜態引入的文件緊密結合為一個 Servlet。這些文件可以是 JSP 頁面、HTML 頁面、文本文件或是一段 Java 代碼。其語法格式如下:
<%@ include file="relativeURL|absoluteURL" %>
說明如下:
1.file 屬性指定被包含的文件,不支持任何表達式,例如下面是錯誤的用法:
<% String f="top.html"; %>
<%@ include file="<%=f %>" %>
2.不可以在 file 所指定的文件后接任何參數,如下用法也是錯誤的:
<%@ include file="top.jsp?name=zyf" %>
3.如果 file 屬性值以“/”開頭,將在當前應用程序的根目錄下查找文件;如果是以文件名或文件夾名開頭,將在當前頁面所在的目錄下查找文件。
提示:
使用 include 指令是以靜態方式包含文件,也就是說,被包含文件將原封不動地插入 JSI 文件中,因此,在所包含的文件中不能使用<html></html>、<body></body> 標記,否則會因為與原有的 JSP 文件有相同標記而產生錯誤。另外,因為原文件和被包含文件可以相互訪問彼此定義的變量和方法,所以要避免變量和方法在命名上產生沖突。
【例1】使用 include 指令標記靜態插入一個文本文件 Hello.txt,并在當前頁面同一個 Web 服務目錄中顯示“很高興認識你!Nice to meet you.”,具體操作步驟如下。
① Hello.txt 文本文件的代碼如下:
<%@ page contentType="text/html;charset=utf-8" %>
很高興認識你!
Nice to meet you.
② 創建 2-19.jsp 頁面,具體代碼如下:
<%@ page contentType="text/html;charset=utf-8" %>
<html><body bgcolor=cyan>
<H3><% include file="Hello.txt" %>
</H3>
</body>
</html>