1 package fr.improve.struts.taglib.layout.field; 2 3 import javax.servlet.jsp.JspException ; 4 5 import fr.improve.struts.taglib.layout.LayoutTagSupport; 6 import fr.improve.struts.taglib.layout.event.EndLayoutEvent; 7 import fr.improve.struts.taglib.layout.event.LayoutEventListener; 8 import fr.improve.struts.taglib.layout.event.StartLayoutEvent; 9 import fr.improve.struts.taglib.layout.util.TagUtils; 10 14 public class LineTag extends LayoutTagSupport implements LayoutEventListener { 15 protected boolean space = true; 16 19 public int doEndLayoutTag() throws JspException { 20 if (Boolean.FALSE.equals(new EndLayoutEvent(this, null).send())) { 21 TagUtils.write(pageContext, "</tr>"); 22 } 23 return EVAL_PAGE; 24 } 25 public void doPrintSeparator(StringBuffer buffer) { 26 buffer.append("<td> </td>\n"); 27 } 28 31 public int doStartLayoutTag() throws JspException { 32 if (Boolean.FALSE.equals(new StartLayoutEvent(this, null).send())) { 33 TagUtils.write(pageContext, "<tr>"); 34 } 35 return EVAL_BODY_INCLUDE; 36 } 37 public Object processStartLayoutEvent(StartLayoutEvent in_event) throws JspException { 38 return in_event.consume(pageContext, ""); 39 } 40 public Object processEndLayoutEvent(EndLayoutEvent in_event) throws JspException { 41 StringBuffer lc_buffer = new StringBuffer (); 42 if (space) { 43 doPrintSeparator(lc_buffer); 44 } 45 return in_event.consume(pageContext, lc_buffer.toString()); 46 } 47 public void release() { 48 super.release(); 49 space = true; 50 } 51 public void setSpace(boolean in_boolean) { 52 space = in_boolean; 53 } 54 } 55 | Popular Tags |