版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/L1558198727/article/details/83106659
迭代标记处理器
<c:string>
Hello World!
</c:string>
如果实现的是interactionTag,则在执行doEndTag之前会执行doAfterTag,实现跌倒
class StringTag extends TagSupport,BodyTagSupport,SimpleTagSupport{
private int count;
doStartTag()
public int doAfterBody() throws JspException{
count--;
if(count==0){
return SKIP_BODY;
}
else{
return EVAL_BODY_AGAIN;
}
}
}
BodyContent
继承 JspWriter
<c:string count="5">
</c:string>
public class StringTag extends BodyTagSupport {
public int doStartTag() throws JspException{
return EVAL_BODY_BUFFERED;//这里一定要返回EVAL_BODY_BUFFERED
}
public int doEndTag() throws JspException{
String str = bodyContext.getString();
str = str.toUpperCase();
getPreviousOut().print(str);
pageContext.getOut().print(str);//错误,将数据输出到新建的缓冲区中了
retutn EVAL_PAGE;
}
}