4.控制标签体内容执行五次(tld中的配置,和jsp我就省略了,详细请看jsp自定义标签1)
这里这个方法是继承了tag接口的实现类,这个实现类里不只实现了tag接口,还有tag接口的子接口,也就是IterationTag
子接口中增加了doAfterBody()方法和EVAL_BODY_AGAIN常量,为了实现标签体重复
TagRepeat.java
package tag; import javax.servlet.jsp.JspException; import javax.servlet.jsp.tagext.IterationTag; import javax.servlet.jsp.tagext.Tag; import javax.servlet.jsp.tagext.TagSupport; /** * @author: snowing * @date : 2017年4月18日 * 控制标签体内容执行五次 */ public class TagRepeat extends TagSupport { int x=5; @Override public int doStartTag() throws JspException { return Tag.EVAL_BODY_INCLUDE;//这里得到标签体内容 } @Override public int doAfterBody() throws JspException {//这个方法是再标签体结束,结束标签之前执行 x--; if(x>0){ return IterationTag.EVAL_BODY_AGAIN;//再输出一次标签体内容 }else{ return IterationTag.SKIP_BODY;}//结束标签重复 } }