指令元素(Directives Elements) 指令主要用來(lái)提供整個(gè)JSP網(wǎng)頁(yè)相關(guān)的信息,并且用來(lái)設(shè)定JSP頁(yè)面的相關(guān)屬性。 一、page指令 功能:設(shè)定整個(gè)JSP網(wǎng)頁(yè)的屬性和相關(guān)功能。 語(yǔ)法:<%@ page attribute1="value1" attribute2="value2" %> 標(biāo)簽元素:<jsp:directive.page attribute1="value1" attribute2="value2" /> page指令元素的屬性 language="language" 指定JSP Container要用什么語(yǔ)言來(lái)編譯JSP網(wǎng)頁(yè)。目前只可以使用Java語(yǔ)言,不過(guò)不排除增加其它語(yǔ)言。默認(rèn)值為Java。 extends="className" 定義此JSP頁(yè)面產(chǎn)生的Servlet是繼承自哪個(gè)父類(lèi)。必須為實(shí)現(xiàn)HttpJspPage接口的類(lèi)。JSP規(guī)范對(duì)不完全理解其隱意的情況下使用此屬性提出警告。 import="importList" 定義此JSP頁(yè)面可以使用哪些Java API。用逗號(hào)分隔列出一個(gè)或多個(gè)全質(zhì)類(lèi)名。此列表用于在生成的java servlet中創(chuàng)建相應(yīng)的導(dǎo)入語(yǔ)句。以下包是自動(dòng)包含的,不必被指出:java.lang.*;java.servlet.*;java.servlet.jsp.*;java.servlet.htt.* session="true|false" 指明JSP頁(yè)面是否需要一個(gè)HTTP會(huì)話,如果為true,那么產(chǎn)生的servlet將包含創(chuàng)建一個(gè)HTTP會(huì)話(或訪問(wèn)一個(gè)HTTP會(huì)話)的代碼,缺省為true。 buffer="none|size in kb" 指定輸出流緩存的大小。有效值是nkb或沒(méi)有。缺省為8kb。 authflush="true|false: 決定輸出流的緩沖區(qū)是否要自動(dòng)清除。當(dāng)值為true時(shí)緩存滿時(shí)將被自動(dòng)刷新,當(dāng)值為false時(shí),緩沖區(qū)滿會(huì)拋出溢出異常。缺省值為true。 isThreadSafe="true" 此JSP頁(yè)面能處理來(lái)自多個(gè)線程的同步請(qǐng)求,此值為true,否則為false,生成的servlet表明它實(shí)現(xiàn)了SingleThreadMode接口。SingleThreadMode已經(jīng)聲明不贊成使用(deprecate) info="text" 表示此JSP頁(yè)面的相關(guān)信息,由getServletInfo()方法返回的。 isErrorPage="true|false" 如果此頁(yè)面被用作處理異常錯(cuò)誤的頁(yè)面,則為true。在這種情況下,頁(yè)面可被指定為另一頁(yè)面page指令元素中errorPage屬性的取值。指定此屬性為true將使exception隱含變量對(duì)此頁(yè)面可用。缺省值為false。 errorPage="error_url" 表示如果發(fā)生異常錯(cuò)誤,網(wǎng)頁(yè)會(huì)被重新指向一個(gè)URL頁(yè)面。錯(cuò)誤頁(yè)面必須在其page指令元素中指定isErrorPage="true" contentType="ctinfo" 表示將在生成servlet中使用的MIME類(lèi)型和可選字符解碼。 pageEncoding="ctinfo" 表示JSP頁(yè)面的編碼方式。 isELIgnored="true|false" 表示是否在此JSP網(wǎng)頁(yè)中執(zhí)行或忽略EL表達(dá)式。如果為true時(shí)JSP Container將忽略EL表達(dá)式。 二、include指令 功能:在JSP編譯時(shí)插入包含一個(gè)文件。包含的過(guò)程是靜態(tài)的,包含的文件可以是JSP、HTML、文本或是Java程序。 語(yǔ)法:<%@ include file="relativeURLspec" %> 標(biāo)簽元素:<jsp:directive.include file="relativeURLspec" /> 注意:include指令元素和行為元素主要有兩個(gè)方面的不同點(diǎn)。 1.include指令是靜態(tài)包含,執(zhí)行時(shí)間是在編譯階段執(zhí)行,引入的內(nèi)容為靜態(tài)文要,在編譯成servlet時(shí)就和包含者融合到一起。所以file不能是一個(gè)變量,也不能在file后接任何參數(shù)。 2.include行為是動(dòng)態(tài)包含,執(zhí)行時(shí)間是在請(qǐng)求階段執(zhí)行,引入的內(nèi)容在執(zhí)行頁(yè)面時(shí)被請(qǐng)求時(shí)動(dòng)態(tài)生成再包含到頁(yè)面中。 三、taglib指令 功能:使用標(biāo)簽庫(kù)定義新的自定義標(biāo)簽,在JSP頁(yè)面中啟用定制行為。 語(yǔ)法:<%@ taglib uri="tabLibraryURI" prefix"tagPrefix" %> 標(biāo)簽元素:<jsp:directive.taglib uri="tabLibraryURI" prefix"tagPrefix" /> page指令元素的屬性 uri="tagLibraryURI" 標(biāo)簽庫(kù)描述器的URI,主要是說(shuō)是tagLibrary的存放位置。 prefix="tagPrefix" 用于標(biāo)識(shí)在頁(yè)面后面部分使用定制標(biāo)簽的唯一前綴。 |
聯(lián)系客服