天天看點

J2EE Architecture(11)

J2EE Architecture(11)

1、JSP文檔(JSP Document)

根據XML文法調整格式的JSP頁稱為JSP文檔。它是識别“命名空間”的文檔,不是普通的JSP頁。

JSP文檔在文法中将jsp:root用作特殊元素,并作為JSP文檔的根元素。

JSP文檔包含JSP指令元素、JSP腳本元素、JSP标準動作、JSP定制操作、jsp:text元素和其它XML部分。

JSP文檔内部使用的其它元素如下:

jsp.directive.page

jsp.directive.include

jsp.declaration

jsp.scriptlet

jsp.expression

2、标記擴充

标記擴充是JSP技術的進階概念。

标記擴充提供“标記庫”工具,該庫包括可移植運作時支援,以及驗證機制和編寫工具支援。

使用“定制标記”,不必做太多工作,就能在JSP頁引入特殊操作。

“定制标記”和“标記庫”有助于取消标準JSP頁的大多數腳本元素。定制标記庫時“定制标記處理器”和“标記庫描述符”檔案的集合。

定制标記頁使用XML文法。這些标記遵循4個基本原理:

1)标準标記結構

    tagBody

2)空标記結構

3)區分大小寫

所有的标記名、屬性和标記字首都區分大小寫。

4)嵌套規則

應嚴格采用階層化嵌套方式。定制庫标記包含兩個部分。

jar檔案包含“标記處理器”類檔案和“标記庫描述符(TLD)”檔案。

TLD是一個XML文檔,用于命名和聲明定制标記庫各個标記的結構。

為了有效地使用這些标記庫,要做到以下兩點:

(1)在Web應用程式部署描述符中聲明TLD的位置;

(2)在相應JSP頁使用taglib指令,易訓示URI以及字首屬性

3、标記處理器

“标記處理器”是一個Java類檔案,用于實作如下接口:Tag、IterationTag或BodyTag。

接口的實作可在JSP頁中提供定制的動作。

1)Tag接口

此接口有助于定義所有标記處理器需要的基本方法。

該接口提供了4個常量:SKIP_PAGE、EVAL_PAGE、SKIP_BODY和EVAL_BODY_INCLUDE,以及2個重要方法:doStartTag()和doEndTag()。

2)IterationTag接口

它是基本Tag接口的擴充,提供一個EVAL_BODY_AGAIN變量以及一個附加的方法doAfterBody(),以達到疊代的目的。