classicsimplelooptag.java

来自「Java Server Pages Examples code JavaSer」· Java 代码 · 共 56 行

JAVA
56
字号
package com.ora.jsp.tags.xmp;

import java.util.*;
import javax.servlet.jsp.*;
import javax.servlet.jsp.tagext.*;

public class ClassicSimpleLoopTag extends TagSupport {
    private Iterator iterator;
    private Collection items;
    private String var;
    
    public void setItems(Collection items) {
        this.items = items;
    }
    
    public void setVar(String var) {
        this.var = var;
    }

    public int doStartTag() throws JspException {
	iterator = items.iterator();
        if (iterator.hasNext()) {
            pageContext.setAttribute(var, iterator.next());
	    return EVAL_BODY_INCLUDE;
        }
        else {
	    return SKIP_BODY;
        }
    }

    /**
     * Makes the next element available to the body in a variable
     * with the name specified by the loopId attribute, or returns
     * SKIP_BODY if all elements have been processed.
     */
    public int doAfterBody() throws JspException {
        if (iterator.hasNext()) {
            pageContext.setAttribute(var, iterator.next());
	    return EVAL_BODY_AGAIN;
        }
        else {
	    return SKIP_BODY;
        }
    }

    /**
     * Releases all instance variables.
     */
    public void release() {
	iterator = null;
	items = null;
	var = null;
        super.release();
    }
}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?