Jsp传统标签开发
1068 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;
}
}