读书人

JSP用BodyTagSupport做自定义标签的奇

发布时间: 2012-03-14 12:01:12 作者: rapoo

JSP用BodyTagSupport做自定义标签的奇怪问题????
public class Mytag extends BodyTagSupport {

private int count = 5;

public int doStartTag() throws JspTagException {
System.out.print(count);
return EVAL_BODY_BUFFERED;
}

/* (non-Javadoc)
* @see javax.servlet.jsp.tagext.BodyTagSupport#doAfterBody()
*/
public int doAfterBody() throws JspException {
// TODO Auto-generated method stub

if(count > 1)
{
System.out.print( "test ");
count--;
return EVAL_BODY_AGAIN;
}
else
{
return SKIP_BODY;
}


}

public int doEndTag() throws JspTagException {
return EVAL_PAGE;
}
}
第一次访问调用这个标签的JSP页,可以循环输出4个 "test " count的初值为5

可是刷新后发现...count的值还是从1开始.控制台无 "test "输出..为什么刷新后count没有重新实例化????

[解决办法]
你说对了,就是没有重新实例化,你要把count的值在doStartTag()中重新设置
[解决办法]
帮你顶!!!
我也遇到了同样的问题,发现TabLib对象的生命周期是application级别的,如何让它变成page级别呢?

读书人网 >Java Web开发

热点推荐