Jsp传统标签开发

304 2019-04-30 23:26:40

本文内容转载于孤傲苍狼的博文:javaweb学习总结(二十四)——jsp传统标签开发

标签API简单介绍

* JspTag接口

JspTag接口是所有自定义标签的父接口,它是JSP2.0中新定义的一个标记接口,没有任何属性和方法。JspTag接口有Tag和SimpleTag两个直接子接口,JSP2.0以前的版本中只有Tag接口,所以把实现Tag接口的自定义标签也叫做传统标签,把实现SimpleTag接口的自定义标签叫做简单标签。

**控制jsp页面某一部分内容是否执行  **   编写一个类实现tag接口,控制doStartTag()方法的返回值,如果这个方法返回EVAL_BODY_INCLUDE,则执行标签体,如果返回SKIP_BODY,则不执行标签体。

  SUN公司针对tag接口提供了一个默认的实现类TagSupport,TagSupport类中实现了tag接口的所有方法,因此我们可以编写一个类继承TagSupport类,然后再重写doStartTag方法。

示例代码如下:

TagDemo1.java

package me.gacl.web.tag;

import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.Tag;
import javax.servlet.jsp.tagext.TagSupport;

/**
 * @author gacl
 * TagSupport类实现了Tag接口,TagDemo1继承TagSupport类
 */
public class TagDemo1 extends TagSupport {
    /* 重写doStartTag方法,控制标签体是否执行
     * @see javax.servlet.jsp.tagext.TagSupport#doStartTag()
     */
    @Override
    public int doStartTag() throws JspException {
        //如果这个方法返回EVAL_BODY_INCLUDE,则执行标签体,如果返回SKIP_BODY,则不执行标签体
        //return Tag.EVAL_BODY_INCLUDE;
        return Tag.SKIP_BODY;
    }
}
Web
用户评价