控制标签体是否执行(通过重写doStartTag()的返回值来确定是否执行)
1.标签处理器类
package com.jstl.simple.tag;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.Tag;
import javax.servlet.jsp.tagext.TagSupport;
public class BodyView extends TagSupport {
@Override
public int doStartTag() throws JspException {
//返回的是 Tag.EVAL_BODY_INCLUDE;表示执行标签体的内容
//通过返回的是Tag.SKIP_BODY表示忽略标签体的内容
return Tag.EVAL_BODY_INCLUDE;
}
}
2.tld文件中进行配置
<tag>
<description>控制标签体是否执行</description>
<name>viewBody</name>
<tag-class>com.jstl.simple.tag.BodyView</tag-class>
<body-content>JSP</body-content>
</tag>
3.在jsp页面中调用
<%@ taglib uri="http://www.jstl.simple.tag" prefix="jstl" %>
<body>
<jstl:viewBody>
This is my JSP page. <br>
</jstl:viewBody>
</body>