【Java开源代码栏目提醒】:网学会员--在 Java开源代码编辑为广大网友搜集整理了:BodyTagExample.java绩等信息,祝愿广大网友取得需要的信息,参考学习。
package bodytag;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;
import java.io.*;
public class BodyTagExample extends BodyTagSupport
{
int count=0;
BodyContent bodyContent;
//设置循环次数的方法
public void setCount(int count)
{
this.count=count;
}
//标签开始事件
public int doStartTag() throws JspException
{
System.out.println("doStartTag()调用");
if(count>0)
{
return EVAL_BODY_BUFFERED;
}
else
{
return SKIP_BODY;
}
}
//获得标签之间的内容类
public void setBodyContent(BodyContent bodyContent)
{
this.bodyContent=bodyContent;
}
//显示标签内容之后的事件
public int doAfterBody()throws JspException
{
System.out.println("doAfterBody()调用");
//如果count大于1,重新访问标签
if(count>1)
{
count--;
return EVAL_BODY_BUFFERED;
}
else
{
return SKIP_BODY;
}
}
//结束标签时的操作
public int doEndTag()throws JspException
{
System.out.println("doEndTag()调用");
try
{
if(bodyContent!=null)
{
bodyContent.writeOut(bodyContent.getEnclosingWriter());
}
}
catch(IOException e)
{
throw new JspException(e.getMessage());
}
return EVAL_PAGE;
}
}