您的位置:首页 > 其它

动态属性标签

2017-06-11 12:53 190 查看
补充上次博客中的一些内容:

在BodyTagSupport的类中doStartTag()方法

如果返回值是EVAL_BODY_INCLUDED,将会直接输出标签体内容

如果返回值为EVAL_BODY_BUFFERED,标签体内容将会通过setBodyContent()方法进入到标签处理类中,在标签处理类中可以对其进行处理

介绍两种tld文件(xml)文件的编写方法:

1.DTD文件(具体的代码可以网上查看)

2.SCHEMA文件(在这里给出SCHEMA的代码,SCHEMA这种tld文件可以支持动态属性,而DTD是不支持动态属性的)

<?xml version="1.0" encoding="UTF-8" ?>

<taglib xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd"
version="2.0">

</taglib>

带动态属性的自定义标签,要求实现DynamicAttribute属性

即为: <dynamic-attributes>true</dynamic-attributes>(true就表示必须执行)

所谓的动态属性说白了举个例子:<my:c name="zhang" age="30" job="IT" color="yellow"></my:c>

就是可以随意添加属性(如:上面的name,age,job等等,可以动态的打印出来)

注意:在配置tld文件的时候,tag标签里面的标签是有严格的顺序安排的,不能打乱顺序,不然会报错!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: