自定义标签库开发.pdf
tld
tld文件规格标准的变化
tld文件的格式和支持的功能本身在发展变化当中,我在这里尽量写一个较格的如下。
?xmlversion=1.0encoding=UTF-8?
taglibxmlns=
xmlns:xsi=
xsi:schemaLocation=
version=2.0
tlib-version1.0/tlib-version
short-namemytag/short-name!--定义使用的短名称--
uri/uri!--你库的uri--
tag
namemysimple/name!--你定义的的名称--
tag-classcom.qq.tag.MySimpleTag/tag-class!--对应的处理程序:包名+类名--
body-contentscriptless/body-content!--体内容的格式--
attribute
namenum/name
requiredtrue/required
rtexprvaluetrue/rtexprvalue
/attribute
/tag
function
description判断传递内容是否为空/description
namehasvalue/name
function-classutil.Tld_util/function-class!--处理域值的类路径--
function-signaturebooleanisnull(java.lang.String)/function-signature!--
处理域值的具体的类方法--
example${isnull:hasvalue(obj1)}/example!--自定义的使用示范,域参数会自动传递到具体的方法里面--
/function
/taglib
此文档内既写了一个tag,还写了一个function。function的功能是去调用指定的函数。
simpleTagSupport的知识点
根据文献【1】的说明,TagSupport是最早期用的类,然后它的子类BodyTagSupport又增添了支持改变体内容的
能力,但是他们都太复杂了而很不好用。而SimpleTagSupport类才是设计得最方便好用的,功能也更丰富,所以本文主
要实验这个类,我们的类继承于它就好了。
关于simpleTagSupport,我们还可以参见。此文中同时强调
了一个思想,就是“jsp页面中尽量不要使用java”。
simpleTagSupport类的各项重要特征归纳于下
SimpleTagSupport的方法的执行顺序
jsp运行环境会按照一定的顺序调用我们自己的Tag类的各个方法,以继承simpleTagSupport为例,它的各方法的执
行顺序如下: