恋母恋熟缺母爱:一个使用SimpleTag标签的JSP,为什么有时候正确有时候出错?

来源:百度文库 编辑:中科新闻网 时间:2024/05/02 19:04:51
//SimpleTag1.java
package edu.jsp.tag;

import javax.servlet.jsp.JspException;
import javax.servlet.jsp.tagext.SimpleTagSupport;
import java.util.HashMap;
import java.io.IOException;

public class SimpleTag1 extends SimpleTagSupport{
private int num;
public void doTag() throws JspException, IOException{
for(int i=0;i<num;i++){
getJspContext().setAttribute("count1",String.valueOf(i+1));
getJspBody().invoke(null);
}
}

public void setNum(int num){
this.num = num;
}
}

//标签描述符(mytag.tld)
<tag>
<name>repeat</name>
<tag-class>edu.jsp.tag.SimpleTag1</tag-class>
<body-content>scriptless</body-content>
<attribute>
<name>num</name>
<required>true</required>
<rtexprvalue>true</rtexprvalue>
</attribute>
</tag>

//loop2.jsp
<%@ taglib prefix="r" uri="/WEB-INF/mytag.tld" %>

<html>
<body>
<br>
<r:repeat num="5">
获得返回值:${count1}<br>
</r:repeat>
</body>
</html>

***********************
期望的输出应该是

获得返回值:1
获得返回值:2
获得返回值:3
获得返回值:4
获得返回值:5

有时候输出是对的,但我重启Tomcat以后再次调试却输出

获得返回值:${count1}
获得返回值:${count1}
获得返回值:${count1}
获得返回值:${count1}
获得返回值:${count1}

请问这是Tomcat的问题还是……?为什么时对时错呢?