全部博文(626)
分类: Java
2013-09-22 09:42:14
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(),以达到迭代的目的。