1.开发标签处理器类
package com.jstl.simple.tag;
import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.IterationTag;
import javax.servlet.jsp.tagext.Tag;
import javax.servlet.jsp.tagext.TagSupport;
public class ViewLoopContent extends TagSupport {
//定义一个全局变量,用来控制执行的次数
int a = 5;
@Override
public int doStartTag() throws JspException {
// 执行标签体的内容
return Tag.EVAL_BODY_INCLUDE;
}
//通过doAfterBody()这个方法来控制循环次数,使用IterationTag.EVAL_BODY_AGAIN;来进行控制
@Override
public int doAfterBody() throws JspException {
//
a--;
if(a>0){
return IterationTag.EVAL_BODY_AGAIN;
}else{
return IterationTag.SKIP_BODY;
}
}
}
<tag>
<description>控制body循环执行</description>
<name>viewLoopBody</name>
<tag-class>com.jstl.simple.tag.ViewLoopContent</tag-class>
<body-content>JSP</body-content>
</tag>
3.在jsp中使用这些标签
<%@ taglib uri="http://www.jstl.simple.tag" prefix="jstl" %>
<body>
<jstl:viewLoopBody>
This is my JSP page. <br>
</jstl:viewLoopBody>
</body>