我们知道URI是标记库文件,也就是我们常说的TLD的唯一标识。对于TLD的认识,其实是从定制标记库开始的。之前所说的JSTL都是可选用的标记,还有一些是需要自己定制的。这就跟TLD息息相关了,其实TLD描述的就是2个方面的内容:第一个就是你需要定制的标记,第二个就是相关的EL函数。在相应的TLD文档里会有相应的描述,在之前的章节,我们也说了要使用TLD,需在jsp中加上taglib的元素。当使用EL函数时,我们创建静态方法可以命名,使用TLD时只需要使用映射就可以了。如果要用定制标记,那一定要用doTag()方法。JSP在使用TLD声明的名字调用标记时,容器会调用doTag()方法。属性的方法在TLD中的<attribute>中设置,对于一个搞JSP的程序员来说,他只需要关注URI,标记名和标记语法既可以了。对于他来说,并不关心TLD中的<tag-class>元素。我们也需认识到URI只是一个名,而不是我们想象中位置。它仅仅只是表示是标记库中的为一个名字。也就是在taglib指令中的名字。容器会查找TLD中的<URI>和tablib指令中的URI值进行匹配,容器会自动的将TLD和<URI>名之间建立映射,容器在初始化时在TLD特定的位置来一个搜寻,找到了便和标记库建立一个映射。通常现在web-inf中查找,或者在web-inf的一个子目录查找,在web-inf/lib下一个jar文件中meta-inf目录查找,或在web-inf/lib下的一个jar文件中的meta-inf目录的子目录中查找。
能说的就是这些了,我在考虑是不是关于JSP就这样收尾了,关于定制标记开发其实也有些内容,只是我实在从来没参与其中做过任何事情,所以感受自然谈不上。好吧!今天就到这里吧!。。。。。。。