1 25 package org.ofbiz.webapp.taglib; 26 27 import java.io.IOException ; 28 import java.util.Iterator ; 29 import javax.servlet.jsp.JspTagException ; 30 import javax.servlet.jsp.JspWriter ; 31 import javax.servlet.jsp.tagext.BodyContent ; 32 import javax.servlet.jsp.tagext.BodyTagSupport ; 33 34 35 42 public class IteratorHasNextTag extends BodyTagSupport { 43 44 public int doStartTag() throws JspTagException { 45 IteratorTag iteratorTag = 46 (IteratorTag) findAncestorWithClass(this, IteratorTag.class); 47 48 if (iteratorTag == null) 49 throw new JspTagException ("IterateNextTag not inside IteratorTag."); 50 51 Iterator iterator = iteratorTag.getIterator(); 52 53 if (iterator == null || !iterator.hasNext()) 54 return SKIP_BODY; 55 56 return EVAL_BODY_AGAIN; 57 } 58 59 public int doAfterBody() { 60 return SKIP_BODY; 61 } 62 63 public int doEndTag() { 64 try { 65 BodyContent body = getBodyContent(); 66 67 if (body != null) { 68 JspWriter out = body.getEnclosingWriter(); 69 String bodyString = body.getString(); 70 body.clearBody(); 71 out.print(bodyString); 72 } 73 } catch (IOException e) { 74 System.out.println("IterateNext Tag error: " + e); 75 } 76 return EVAL_PAGE; 77 } 78 } 79 80 | Popular Tags |