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