📄 iteratetag.java
字号:
package body;
import java.util.Collection;
import java.util.Iterator;
import javax.servlet.jsp.tagext.BodyTagSupport;
public class iterateTag extends BodyTagSupport {
private String name;// 在pageContext中标识的一个属性名
private Iterator it;// 要迭代的对象
private String type;// it中对象的类型
public void setCollection(Collection collection) {
if (collection.size() > 0)
it = collection.iterator();
}
// ----标签开始时调用此方法-------
public int doStartTag() {
if (it == null)
return SKIP_BODY;
else
return continueNext(it);
}
// ----标签体执行完后调用此方法----
public int doAfterBody() {
return continueNext(it);
}
// ----标签结束时调用此方法-------
public int doEndTag() {
try {
if (bodyContent != null)
bodyContent.writeOut(bodyContent.getEnclosingWriter());
} catch (Exception e) {
System.out.println(e);
}
return EVAL_PAGE;
}
// ----迭代----
protected int continueNext(Iterator it) {
if (it.hasNext()) {
pageContext.setAttribute(name, it.next(), pageContext.PAGE_SCOPE);
return EVAL_BODY_TAG;
} else
return SKIP_BODY;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -