标签扩展是一个 类,它是运行一个或者二个接口的 。在 规范内标签具有
比 更丰富的运行时协议,因为
:初始化可以包含属性,没有这些属性标签就不能运行 ,而 的构造 函数 参数 为
空
:设置和获取属性不会涉及到所有的类,在 中只有少量的逻辑控制。
: 页面中的 没有 默认设置上下文,也就是说, 没有一个父类的或者页面上
下文对象的默认概念。
所有的标签都实现了 接口。这个接口是一个标记接口,
它有二个子接口:
:一个是 ,它是 新增加的接口,代表了简单的标签。
:第二个是 接口,它是经典的,必须实现的接口,它有一个直接子接口就是
用于开发出抚今追昔的标签,它有一个简单的实现类为 。在开发时,
我们只要从 扩展就可以开发出抚今追昔标签了。 还有一个子接口,
就是 !"这种标签允许带有 !。 ! 也有一个实现类,就是
!,在开发 ! 时,往往直接从它继承就可以了。当然了,我们在开发
自己的标签时除了继承原有的类外,也可以直实现 接口。
#$ 标签开发
传统的标签必须实现 接口,在这个接口中,主要定义的是和标
签声明周期相关的方法,比如 %&'" %&'等。在 中,可以通过
( 对象访问 页面 的上下文。下面结合标签的生命周期讨论下标签的处理过程。
标签的生命周期如下
:当容器创建一个新的标签实例后,通过 ( 设置标签的页面上下文。
:使用 方法设置这个标签的上一级标签。如果没有上一级嵌套,设置为空。
:设置标签的属性。这个属性在标签库描述文件中定义。如果没有定义属性就不调用此类方
法。
):调用 方法,这个方法可以返回 *+,-.+(*/- 和 0+,-.。当
返回 *+,-.+(*/- 时,就计算标签的 ,-.,如果返回 0+,-.,就不计算标
签的 ,-.。
评论2