官术网_书友最值得收藏!

3.3 JSP指令元素

JSP指令元素主要包括:page指令、include指令及taglib指令。它們都是JSP中的編譯指令。編譯指令就是告訴JSP的引擎,如何處理其他的JSP網頁。JSP編譯指令的語法格式如下:

<%@指令名屬性="屬性值"%>

下面分別介紹JSP中的三種編譯指令:page指令、include指令及taglib指令。

指令

3.3.1 page指令

功能:定義整個JSP頁面的屬性及其屬性值。

語法:<%@ page屬性1=值 屬性2=值…%>

該指令所包含屬性如下:

?language:定義JSP網頁所使用的腳本語言的種類,其默認值是Java。

?import:指定JSP網頁中需要導入的Java包列表。

?extends:說明JSP編譯時需要加入的Java類的名字。

?session:設置此網頁是否要加入到一個session中(其值為布爾類型)。如果為true,則session是有用的;否則,就不能使用session對象以及定義了scope=session的<jsp:use-Bean>元素,這樣的使用會導致錯誤。其默認值是true。

?buffer:設置此網頁輸出時所使用緩沖區的大小。buffer的值可以為none,也可以是一個數值。其默認值是8KB。

?autoFlush:指定當緩沖區滿時是否自動輸出緩沖區的數據(其值為布爾類型)。如果為true,輸出正常,否則當緩沖區滿時將拋出異常。其默認值是true。注意,如果把buffer的值設置為none,那么把autoFlush的值設置為false就是非法的。

?info:指明網頁的說明信息,可使用Servlet類的getServletInfo方法獲取此信息。

?isThreadSafe:設置JSP文件是否能多線程訪問,其默認值是true。如果為true,JSP能夠同時處理多個用戶的請求,否則JSP一次只能處理一個用戶請求。

?isErrorPage:設置此網頁是否是另一個JSP頁面的錯誤信息的提示頁面。如果為true,就能使用exception對象,否則exception對象不可用。

?errorPage:設置JSP網頁發生錯誤時的信息提示頁面的URL路徑。該屬性的值必須是一個用“URL路徑”來描述的JSP頁面。

?contentType:定義了JSP網頁所使用的字符集及JSP響應的MIME類型。默認MIME類型是text/html,默認字符集是ISO-8859-1。

注意:page指令作用于整個JSP頁面,以及由include指令和<jsp:include>包含進來的靜態文件中,但不能用于動態包含文件。可以在一個頁面上使用多個page指令,但是其中的屬性只能使用一次(import屬性例外)。page指令可以放在JSP文件的任何地方,它的作用范圍都是JSP頁面,但好的編程習慣一般把它放在文件的頂部。

如何使用page指令。下面代碼的運行結果如圖3-3所示,源碼如下:

978-7-111-44234-9-Chapter03-6.jpg

圖3-3 page指令運行結果

978-7-111-44234-9-Chapter03-7.jpg

3.3.2 include指令

功能:指定在JSP文件中包含的一個靜態的文件,即在JSP文件被編譯時需要插入的文本或代碼。

語法:<%@ include file="文件名稱"%>

當使用include指令時,包含文件是靜態包含,即這個被包含的文件將被插入到JSP文件中去。所包含的文件可以是JSP文件、HTML文件、文本文件甚至一段Java代碼。但是在所包含的文件中不能使用“<html></html>”,“<body></body>”標記,因為這將會影響到原有的JSP文件中所使用的相同標記。如果所包含的是一個JSP文件,則該文件將會執行。

注意:屬性file指出了被包含文件的路徑,這個路徑一般指相對路徑,不需要什么端口、協議和域名。

如何使用include指令。下面代碼運行結果如圖3-4所示,其源碼如下:

978-7-111-44234-9-Chapter03-8.jpg

現在是北京時間:

978-7-111-44234-9-Chapter03-9.jpg

其中nowtime.jsp的源碼如下:

978-7-111-44234-9-Chapter03-10.jpg

978-7-111-44234-9-Chapter03-11.jpg

圖3-4 include指令運行例子

3.3.3 taglib指令

功能:聲明JSP文件使用了自定義的標簽,同時引用標簽庫,也指定了它們的標簽的前綴。

語法:<%@ taglib uri="URIToTagLibrary"prefix="tagPrefix"%>

屬性說明如下:

?uri:解釋為統一資源標記符,根據標簽的前綴對自定義的標簽進行唯一的命名。URI可以是URL(Uniform Resource Locator)、URN(Uniform Resource Name)或一個路徑(相對或絕對)。

?prefix:在自定義標簽之前的前綴,如<public:moon>中的public,如果這里不寫public,則標簽moon的定義是非法的。

注意:jsp、jspx、java、javax、servlet、sun和sunw等保留字不允許作自定義標簽的前綴。用戶必須在使用自定義標簽之前使用taglib指令,而且可以在一個頁面中多次使用,但是前綴只能使用一次。

主站蜘蛛池模板: 泰兴市| 墨脱县| 安达市| 宜川县| 巴里| 北流市| 儋州市| 屯昌县| 南丰县| 日照市| 从化市| 湘潭县| 揭阳市| 南川市| 友谊县| 甘南县| 陆河县| 余干县| 察哈| 漠河县| 陕西省| 兰州市| 通化县| 石屏县| 武义县| 永靖县| 荥阳市| 大厂| 缙云县| 驻马店市| 休宁县| 浏阳市| 灵寿县| 九江县| 昆明市| 金门县| 茂名市| 伊吾县| 梨树县| 溧水县| 宝清县|