⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 iteratetag.java

📁 自定义标记
💻 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 + -