自定义标签技术

来源:互联网 发布:上海小众景点 知乎 编辑:程序博客网 时间:2024/06/05 13:29

传统标签:

包含三部分:一个类实现Tag接口;一个tld文件,描述写好的类;在jsp页面引入tld文件。分为doStartTag()和doEndTag(),分别处理发现开始标签和发现结束标签时的代码,在doStartTag()可以通过返回值来控制标签体是否允许执行,在doEndTag()通过返回值控制标签之后剩余的页面是否允许执行。

简单标签:

包含三部分:一个类实现SimpleTag接口(继承SimpleTag接口的默认实现类SimpleTagSupport);一个tld文件,描述写好的类;在jsp页面中映入tld文件。

jsp在执行过程中,当遇到一个简单标签时会创建一个处理类对象。

调用setJspContext传入当前jsp页面的pageContext对象。

若当前标签有父标签,则调用setParent()将父标签传入。没有,则此方法不会被调用。

若该标签具有属性,调用属性的setXX将属性的值传入。

若该标签具有标签体,则调用setJspBody将封装标签体信息的JspFragment传入。没有,则不执行。

最后调用doTag(),在这个方法里可以写处理标签时间的Java代码。

当自定义标签执行完成后,简单标签对象就毁掉了。

0 0