搞清楚自定义标签的原理,查找起来是非常好查找的。
我们知道自定义标签是基于自定义标签类和自定义tld文件的,所以我们先找自定义的tld文件。
然后,我们来解析tld文件,分析具体的jsp和相应的自定义标签类:
<!--定义标签-->
<tag>
<!--定义标签名-->
<name>iterator</name>
<!--定义标签处理类-->
<tag-class>ppp.IteratorTag</tag-class>
<!--定义标签体不允许出现JSP脚本-->
<body-content>scriptless</body-content>
<!--配置标签属性:driver-->
<attribute>
<name>driver</name>
<required>true</required>
<fragment>true</fragment>
</attribute>
<!--配置标签属性:uri-->
<attribute>
<name>uri</name>
<required>true</required>
<fragment>true</fragment>
</attribute>
<!--配置标签属性:user-->
<attribute>
<name>user</name>
<required>true</required>
<fragment>true</fragment>
</attribute>
<!--配置标签属性:pass-->
<attribute>
<name></name>
<required>true</required>
<fragment>true</fragment>
</attribute>
<!--配置标签属性:sql-->
<attribute>
<name>sql</name>
<required>true</required>
<fragment>true</fragment>
</attribute>
</tag>
上面标签分别配置了driver、uri、user、pass、sql五个属性,并且指定这五个属性是必须属性,而且属性支持动态内容。